This class models a git repository, referred to in Gitalist
as a "Project".
-=cut
+
=head1 ATTRIBUTES
=head2 name
-The name of the Project. By default, this is derived from the path to the git repository.
+The name of the Project. If unspecified, this will be derived from the path to the git repository.
-=cut
=head2 path
-L<Path::Class:Dir> for the location of the git repository.
+L<Path::Class:Dir> for the filesystem path to the git repository.
-=cut
=head2 description
-String containing .git/description
+The contents of .git/description.
-=cut
=head2 owner
-Owner of the files on disk.
+Owner of the files on the filesystem.
-=cut
=head2 last_change
-L<DateTime> for the time of the last update.
-undef if the repository has never been used.
+The L<DateTime> of the last modification of the repository. This will be C<undef> if the repository has never been used.
-=cut
=head2 is_bare
-Bool indicating whether this Project is bare.
+True if this is a bare git repository.
-=cut
=head2 heads
-ArrayRef of hashes containing the name and sha1 of all heads.
-
-=cut
-
=head2 tags
-ArrayRef of hashes containing the name and sha1 of all tags.
-
-=cut
+An array of the name and sha1 of all heads/tags in the repository.
=head2 references
Hashref of ArrayRefs for each reference.
-=cut
+
=head1 METHODS
=head2 head_hash ($head?)
Return the sha1 for HEAD, or any specified head.
-=cut
=head2 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 L<Gitalist::Git::Object>.
-=cut
=head2 get_object ($sha1)
Return an appropriate subclass of L<Gitalist::Git::Object> for the given sha1.
-=cut
-=head2 hash_by_path($sha1, $path, $type?)
+=head2 hash_by_path ($sha1, $path, $type?)
Returns the sha1 for a given path, optionally limited by type.
-=cut
-=head2 list_revs($sha1, $count?, $skip?, \%search?, $file?)
+=head2 list_revs ($sha1, $count?, $skip?, \%search?, $file?)
Returns a list of revs for the given head ($sha1).
-=cut
-=head2 snapshot($sha1, $format)
+=head2 snapshot ($sha1, $format)
Generate an archived snapshot of the repository.
$sha1 should be a commit or tree.
Returns a filehandle to read from.
-=cut
-=head2 diff($commit, $patch?, $parent?, $file?)
+=head2 diff ($commit, $patch?, $parent?, $file?)
Generate a diff from a given L<Gitalist::Git::Object>.
-=cut
-
-=head2 reflog(@lorgargs)
+=head2 reflog (@lorgargs)
Return a list of hashes representing each reflog entry.
FIXME Should this return objects?
-=cut
-
=head1 SEE ALSO
L<Gitalist::Git::Util> L<Gitalist::Git::Object>
+
=head1 AUTHORS
See L<Gitalist> for authors.
Projects (git repositories). It is used for creating Project
objects to work with.
-=cut
=head1 ATTRIBUTES
-=head2 repo_dir
-
-L<Path::Class::Dir> for the root of the Repo.
+=head2 repo_dir (C<Path::Class::Dir>)
-=cut
+The filesystem root of the Repo.
=head2 projects
-An array of L<Gitalist::Git::Project> for each valid git repo
-found in repo_dir.
+An array of all Repos found in C<repo_dir>.
-=cut
=head1 METHODS
-=head2 project (NonEmptySimpleStr $project)
+=head2 project (Str $project)
Returns a L<Gitalist::Git::Project> for the specified project
name.
-=cut
=head1 SEE ALSO
L<Gitalist::Git::Project>
+
=head1 AUTHORS
See L<Gitalist> for authors.