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.