return $sha1;
}
- method list_tree (SHA1 $sha1?) {
- $sha1 ||= $self->head_hash;
- my $object = $self->get_object($sha1);
- return @{$object->tree};
- }
-
method get_object (NonEmptySimpleStr $sha1) {
unless (is_SHA1($sha1)) {
$sha1 = $self->head_hash($sha1);
);
}
- method hash_by_path ($base, $path = '', $type?) {
- $path =~ s{/+$}();
- # FIXME should this really just take the first result?
- my @paths = $self->run_cmd('ls-tree', $base, '--', $path)
- or return;
- my $line = $paths[0];
-
- #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c'
- $line =~ m/^([0-9]+) (.+) ($SHA1RE)\t/;
- return defined $type && $type ne $2
- ? ()
- : $3;
- }
-
method list_revs ( NonEmptySimpleStr :$sha1!,
Int :$count?,
Int :$skip?,
Return the sha1 for HEAD, or any specified head.
-=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>.
-
=head2 get_object ($sha1)
Return an appropriate subclass of L<Gitalist::Git::Object> for the given sha1.
-=head2 hash_by_path ($sha1, $path, $type?)
-
-Returns the sha1 for a given path, optionally limited by type.
-
=head2 list_revs ($sha1, $count?, $skip?, \%search?, $file?)
Returns a list of revs for the given head ($sha1).