The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Git::Raw::Repository - Git repository class

VERSION

version 0.09

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 HEAD of the repository. This function may return a Git::Raw::Blob, a Git::Raw::Commit, a Git::Raw::Tag or a Git::Raw::Tree.

lookup( $id )

Retrieve the object corresponding to the given id. This function may return a Git::Raw::Blob, a Git::Raw::Commit, a Git::Raw::Tag or a Git::Raw::Tree.

commit( $msg, $author, $committer, [@parents], $tree )

Create a new Git::Raw::Commit given a message, an author and committer (Git::Raw::Signature), a list of parents (Git::Raw::Commit) and a tree (Git::Raw::Tree).

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"
"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 branch (aka a Git::Raw::Reference) given a name and a target object (either a Git::Raw::Commit or a Git::Raw::Tag).

tag( $name, $msg, $tagger, $target )

Create a new Git::Raw::Tag given a name, a message, a $tagger (Git::Raw::Signature) and a $target. The target may be a Git::Raw::Blob, a Git::Raw::Commit, a Git::Raw::Tag or a Git::Raw::Tree.

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 to iterate over repository's revisions.

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.