return @ret;
}
- method get_object (Str $sha1) {
+ method get_object (NonEmptySimpleStr $sha1) {
+ unless ( $self->valid_rev($sha1) ) {
+ $sha1 = $self->head_hash($sha1);
+ }
return Object->new(
project => $self,
sha1 => $sha1,
);
}
-
+
# Should be in ::Object
method get_object_mode_string (Gitalist::Git::Object $object) {
return unless $object && $object->{mode};
# XXX Ideally this would return a wee object instead of ad hoc structures.
method diff ( Gitalist::Git::Object :$commit,
Bool :$patch?,
- NonEmptySimpleStr :$parent?,
+ Maybe[NonEmptySimpleStr] :$parent?,
NonEmptySimpleStr :$file? ) {
# Use parent if specifed, else take the parent from the commit
# if there is only one, otherwise it was a merge commit.
);
my @out = $self->raw_diff(
- ( $patch ? '--patch-with-raw' : () ),
- $parent, $commit->sha1, @etc
+ \(( $patch ? '--patch-with-raw' : () ),
+ $parent, $commit->sha1, @etc )
);
# XXX Yes, there is much wrongness having parse_diff_tree be destructive.