NAME
Git::Raw::Repository - Git repository class
VERSION
version 0.17
DESCRIPTION
A Git::Raw::Repository represents a Git repository.
METHODS
init( $path, $is_bare )
Initialize a new repository at $path.
clone( $url, $path, \%strategy, $is_bare )
Clone the repository at $url to $path. See the checkout() description for more information about %strategy.
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 $id.
checkout( $object, \%strategy )
Updates the files in the index and working tree to match the content of $object. The %strategy paramenter can have set the following values:
"update_unmodified"
"update_missing"
"update_modified"
"update_untracked"
"allow_conflicts"
"skip_unmerged"
"update_only"
"remove_untracked"
Example:
$repo -> checkout($repo -> head, {
'update_missing' => 1,
'update_modified' => 1
});
reset( $target, $type )
Reset the current HEAD to the given commit. Valid reset types are: "soft" (the head will be moved to the commit) or "mixed" (trigger a soft reset and replace the index with the content of the commit tree).
status( $file )
Retrieve the status of <$file> in the working directory. This functions returns a list of status flags. Possible status flags are: "index_new", "index_modified", "index_deleted", "worktree_new", "worktree_modified", "worktree_deleted" and "ignored".
ignore( $rules )
Add an ignore rules to the repository. The format of the rules is the same one of the .gitignore file (see the gitignore(5) manpage). Example:
$repo -> ignore("*.o\n");
diff( $repo [, $tree] )
Compute the Git::Raw::Diff between the repository default index and a tree. If no $tree is passed, the diff will be computed against the working directory.
blob( $buffer )
Create a new Git::Raw::Blob. Shortcut for Git::Raw::Blob->create().
branch( $name, $target )
Create a new Git::Raw::Branch. Shortcut for Git::Raw::Branch->create().
branches( )
Retrieve a list of Git::Raw::Branch objects.
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.
stash( $stasher, $msg )
Save the local modifications to a new stash. Shortcut for Git::Raw::Stash->save().
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( )
Check if the repository is empty.
is_bare( )
Check if the repository is bare.
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.