NAME
Git::Raw::Repository - Git repository class
VERSION
version 0.11
DESCRIPTION
A Git::Raw::Repository
represents a Git repository.
METHODS
init( $path, $is_bare )
Initialize a new repository at $path
.
open( $path )
Open the repository at $path
.
discover( $path )
Discover the path to the repository directory given a subdirectory.
config( )
Retrieve the default Git::Raw::Config of the repository.
index( )
Retrieve the default Git::Raw::Index of the repository.
head( )
Retrieve the object pointed by the HEAD of the repository.
lookup( $id )
Retrieve the object corresponding to the given id.
reset( $target, $type )
Reset the current HEAD to the given commit. Valid reset types are: "soft"
(the head will be moved to the commit), "mixed"
(trigger a soft reset and replace the index with the content of the commit tree).
status( $file )
Retrieve the status of the given file in the working directory. This functions returns a list of status flags. Valid status flags are: "index_new"
, "index_modified"
, "index_deleted"
, "worktree_new"
, "worktree_modified"
, "worktree_deleted"
and "ignored"
.
diff( $repo [, $tree] )
Compute the Git::Raw::Diff between the repository index and a tree. If no $tree
is passed, the diff will be computed against the working directory.
branch( $name, $target )
Create a new Git::Raw::Branch. Shortcut for Git::Raw::Branch->create()
.
commit( $msg, $author, $committer, [@parents], $tree )
Create a new Git::Raw::Commit. Shortcut for Git::Raw::Commit->create()
.
tag( $name, $msg, $tagger, $target )
Create a new Git::Raw::Tag. Shortcut for Git::Raw::Tag->create()
.
tags( )
Retrieve a list of Git::Raw::Tag objects.
remotes( )
Retrieve a list of Git::Raw::Remote objects.
walker( )
Create a new Git::Raw::Walker. Shortcut for Git::Raw::Walker->create()
.
path( )
Retrieve the complete path of the repository.
workdir( )
Retrieve the working directory of the repository.
is_empty( )
Tell whether the repository is empty or not.
is_bare( )
Tell whether the repository is bare or not.
AUTHOR
Alessandro Ghedini <alexbio@cpan.org>
LICENSE AND COPYRIGHT
Copyright 2012 Alessandro Ghedini.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.