NAME

Git::Raw::Repository - Git repository class

VERSION

version 0.05

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.

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).

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"

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.

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.