Gitalist::Git::Repository - Model of a git repository


NAME

Gitalist::Git::Repository - Model of a git repository


SYNOPSIS

    my $gitrepo = dir('/repo/base/Gitalist');
    my $repository = Gitalist::Git::Repository->new($gitrepo);
     $repository->name;        # 'Gitalist'
     $repository->path;        # '/repo/base/Gitalist/.git'
     $repository->description; # 'Unnamed repository.'


DESCRIPTION

This class models a git repository, referred to in Gitalist as a "Repository".


ATTRIBUTES

name

The name of the Repository. If unspecified, this will be derived from the path to the git repository.

path

the Path::Class:Dir manpage for the filesystem path to the git repository.

description

The contents of .git/description.

owner

Owner of the files on the filesystem.

last_change

The DateTime of the last modification of the repository. This will be undef if the repository has never been used.

is_bare

True if this is a bare git repository.

heads

tags

An array of the name and sha1 of all heads/tags in the repository.

references

Hashref of ArrayRefs for each reference.


METHODS

head_hash ($head?)

Return the sha1 for HEAD, or any specified head.

list_tree ($sha1?)

Return an array of contents for a given tree. The tree is specified by sha1, and defaults to HEAD. Each item is a the Gitalist::Git::Object manpage.

get_object ($sha1)

Return an appropriate subclass of the Gitalist::Git::Object manpage for the given sha1.

hash_by_path ($sha1, $path, $type?)

Returns the sha1 for a given path, optionally limited by type.

list_revs ($sha1, $count?, $skip?, \%search?, $file?)

Returns a list of revs for the given head ($sha1).

snapshot ($sha1, $format)

Generate an archived snapshot of the repository. $sha1 should be a commit or tree. Returns a filehandle to read from.

diff ($commit, $patch?, $parent?, $file?)

Generate a diff from a given the Gitalist::Git::Object manpage.

reflog (@lorgargs)

Return a list of hashes representing each reflog entry.

FIXME Should this return objects?


SEE ALSO

the Gitalist::Git::Util manpage the Gitalist::Git::Object manpage


AUTHORS

See Gitalist for authors.


LICENSE

See Gitalist for the license.

 Gitalist::Git::Repository - Model of a git repository