From: Dan Brook Date: Mon, 1 Apr 2013 21:28:44 +0000 (+0200) Subject: Merge remote branch 'seveas/seveas/syntax_highlight' X-Git-Tag: 0.004002~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FGitalist.git;a=commitdiff_plain;h=0493e65778d860a3c78cd429b0ae843e545ebfec;hp=18add14a16a5b34bb95f3937690f0bd7522e5821 Merge remote branch 'seveas/seveas/syntax_highlight' * seveas/seveas/syntax_highlight: Have linenumbers in blob displays Syntax higlighting improvements --- diff --git a/Changes b/Changes index 55068fb..ae01cdd 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,13 @@ This file documents the revision history for Perl extension Gitalist. +0.004001 2013-03-15 + - Depend on new Catalyst::Runtime and drop use of Catalyst::Controller::ActionRole + - Stop calling tags branches (Dennis Kaarsemaker) + - Stop breaking trees when submodules are encountered (Dennis Kaarsemaker) + - Correctly handle utf-8 encoded .git/description files (Dennis Kaarsemaker) + - Controller::ActionRole is dead (Tomas Doran) + - Add gitalist.psgi (Tomas Doran) + 0.003009 2012-03-18 - Don't use MooseX::Types::ISO8601 to serialize DateTime objects as its coercion function is now stricter than the object provided. diff --git a/Makefile.PL b/Makefile.PL index d3c9f0a..c0555f5 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -57,7 +57,7 @@ if ($ENV{GITALIST_RELEASE_TESTING}) { }, $FindBin::Bin . "/lib"); } -requires 'Catalyst::Runtime' => '5.90006'; +requires 'Catalyst::Runtime' => '5.90013'; requires 'Catalyst::Plugin::ConfigLoader'; requires 'Catalyst::Plugin::StackTrace'; requires 'Catalyst::Plugin::Static::Simple'; @@ -66,7 +66,6 @@ requires 'Catalyst::Plugin::SubRequest' => '0.15'; requires 'Catalyst::Action::RenderView'; requires 'Catalyst::Action::REST'; requires 'Catalyst::Component::InstancePerContext'; -requires 'Catalyst::Controller::ActionRole'; requires 'Catalyst::View::Component::SubInclude' => '0.07'; requires 'Catalyst::View::TT' => '0.34'; requires 'Try::Tiny'; @@ -84,6 +83,7 @@ requires 'MooseX::Types'; requires 'MooseX::Types::Common'; requires 'MooseX::Types::Path::Class'; requires 'MooseX::Types::DateTime' => '0.05'; +requires 'MooseX::Types::LoadableClass'; requires 'namespace::autoclean'; requires 'Git::PurePerl' => '0.47'; diff --git a/gitalist.psgi b/gitalist.psgi new file mode 100644 index 0000000..3829bdb --- /dev/null +++ b/gitalist.psgi @@ -0,0 +1,8 @@ +use strict; +use warnings; + +use Gitalist; + +my $app = Gitalist->apply_default_middlewares(Gitalist->psgi_app); +$app; + diff --git a/lib/Gitalist.pm b/lib/Gitalist.pm index cde6dff..e200d1a 100644 --- a/lib/Gitalist.pm +++ b/lib/Gitalist.pm @@ -15,7 +15,7 @@ use Catalyst qw/ SubRequest /; -our $VERSION = '0.003009'; +our $VERSION = '0.004001'; $VERSION = eval $VERSION; __PACKAGE__->config( diff --git a/lib/Gitalist/Controller.pm b/lib/Gitalist/Controller.pm index 9839ac3..4d34e8b 100644 --- a/lib/Gitalist/Controller.pm +++ b/lib/Gitalist/Controller.pm @@ -2,6 +2,8 @@ package Gitalist::Controller; use Moose; use namespace::autoclean; -BEGIN { extends 'Catalyst::Controller::ActionRole' } +BEGIN { extends 'Catalyst::Controller' } __PACKAGE__->meta->make_immutable; +1; + diff --git a/lib/Gitalist/Controller/Fragment/Ref.pm b/lib/Gitalist/Controller/Fragment/Ref.pm index cbfacda..bc79659 100644 --- a/lib/Gitalist/Controller/Fragment/Ref.pm +++ b/lib/Gitalist/Controller/Fragment/Ref.pm @@ -54,7 +54,7 @@ after tree => sub { ; $c->stash( tree => $tree_obj, - tree_list => $tree_obj->tree, + entries => $tree_obj->entries, ); }; diff --git a/lib/Gitalist/Controller/Root.pm b/lib/Gitalist/Controller/Root.pm index 7b921f8..42896ea 100644 --- a/lib/Gitalist/Controller/Root.pm +++ b/lib/Gitalist/Controller/Root.pm @@ -3,7 +3,7 @@ package Gitalist::Controller::Root; use Moose; use Moose::Autobox; use Digest::MD5 qw(md5_hex); -use Gitalist::Utils qw/ age_string /; +use Gitalist::Utils qw/ age_string mode_string /; use namespace::autoclean; @@ -54,6 +54,9 @@ sub base : Chained('/root') PathPart('') CaptureArgs(0) { $uri .= "?s=$size" if $size; return $uri; }, + mode_string => sub { + return mode_string(oct shift); + } ); } diff --git a/lib/Gitalist/Git/Object.pm b/lib/Gitalist/Git/Object.pm index 7d46632..c4e87d4 100644 --- a/lib/Gitalist/Git/Object.pm +++ b/lib/Gitalist/Git/Object.pm @@ -6,6 +6,7 @@ class Gitalist::Git::Object with Gitalist::Git::Serializable is dirty { use MooseX::Types::Moose qw/Str Int Bool Maybe ArrayRef/; use MooseX::Types::Common::String qw/NonEmptySimpleStr/; + use Gitalist::Utils qw/mode_string/; use overload '""' => '_to_string', fallback => 1; # repository and sha1 are required initargs @@ -74,41 +75,7 @@ class Gitalist::Git::Object with Gitalist::Git::Serializable is dirty { } method _build_modestr { - return _mode_str($self->mode); - } - - # via gitweb.pm circa line 1305 - use Fcntl ':mode'; - use constant { - S_IFINVALID => 0030000, - S_IFGITLINK => 0160000, - }; - - # submodule/subrepository, a commit object reference - sub S_ISGITLINK($) { - return (($_[0] & S_IFMT) == S_IFGITLINK) - } - - # convert file mode in octal to symbolic file mode string - sub _mode_str { - my $mode = shift; - - if (S_ISGITLINK($mode)) { - return 'm---------'; - } elsif (S_ISDIR($mode & S_IFMT)) { - return 'drwxr-xr-x'; - } elsif ($^O ne 'MSWin32' and S_ISLNK($mode)) { # this is ENOLINKS country, we can't stop here! - return 'lrwxrwxrwx'; - } elsif (S_ISREG($mode)) { - # git cares only about the executable bit - if ($mode & S_IXUSR) { - return '-rwxr-xr-x'; - } else { - return '-rw-r--r--'; - } - } else { - return '----------'; - } + return mode_string($self->mode); } } # end class diff --git a/lib/Gitalist/Git/Object/HasTree.pm b/lib/Gitalist/Git/Object/HasTree.pm index 43d4d7b..6e1b4fe 100644 --- a/lib/Gitalist/Git/Object/HasTree.pm +++ b/lib/Gitalist/Git/Object/HasTree.pm @@ -16,6 +16,8 @@ role Gitalist::Git::Object::HasTree { my @ret; for my $line (split /\0/, $output) { my ($mode, $type, $object, $file) = split /\s+/, $line, 4; + # Ignore commits, these represent submodules + next if $type eq 'commit'; my $class = 'Gitalist::Git::Object::' . ucfirst($type); push @ret, $class->new( mode => oct $mode, type => $type, @@ -27,6 +29,10 @@ role Gitalist::Git::Object::HasTree { return \@ret; } + method entries { + return $self->{_gpp_obj}->{directory_entries}; + } + } 1; diff --git a/lib/Gitalist/Git/Repository.pm b/lib/Gitalist/Git/Repository.pm index c6981bd..cb16eb2 100644 --- a/lib/Gitalist/Git/Repository.pm +++ b/lib/Gitalist/Git/Repository.pm @@ -218,6 +218,7 @@ class Gitalist::Git::Repository with (Gitalist::Git::HasUtils, Gitalist::Git::Se my $description = ""; eval { $description = $self->path->file('description')->slurp; + utf8::decode($description); chomp $description; }; $description = "Unnamed repository, edit the .git/description file to set a description" diff --git a/lib/Gitalist/Utils.pm b/lib/Gitalist/Utils.pm index f11dc34..6d32446 100644 --- a/lib/Gitalist/Utils.pm +++ b/lib/Gitalist/Utils.pm @@ -5,6 +5,7 @@ use Exporter qw/import/; our @EXPORT_OK = qw/ age_string + mode_string /; sub age_string { @@ -50,6 +51,40 @@ sub is_binary { return $_[0] !~ /^[[:print:]]+$ (?: \s ^[[:print:]]+$ )?/mx; } +# via gitweb.pm circa line 1305 +use Fcntl ':mode'; +use constant { + S_IFINVALID => 0030000, + S_IFGITLINK => 0160000, +}; + +# submodule/subrepository, a commit object reference +sub S_ISGITLINK($) { + return (($_[0] & S_IFMT) == S_IFGITLINK) +} + +# convert file mode in octal to symbolic file mode string +sub mode_string { + my $mode = shift; + + if (S_ISGITLINK($mode)) { + return 'm---------'; + } elsif (S_ISDIR($mode & S_IFMT)) { + return 'drwxr-xr-x'; + } elsif ($^O ne 'MSWin32' and S_ISLNK($mode)) { # this is ENOLINKS country, we can't stop here! + return 'lrwxrwxrwx'; + } elsif (S_ISREG($mode)) { + # git cares only about the executable bit + if ($mode & S_IXUSR) { + return '-rwxr-xr-x'; + } else { + return '-rw-r--r--'; + } + } else { + return '----------'; + } +} + 1; __END__ diff --git a/root/fragment/ref/tree.tt2 b/root/fragment/ref/tree.tt2 index d83e358..f2d63a5 100755 --- a/root/fragment/ref/tree.tt2 +++ b/root/fragment/ref/tree.tt2 @@ -13,8 +13,8 @@ # sort files and folders SET tree_files = []; SET tree_folders = []; - FOREACH item IN tree_list; - IF item.type == "blob"; + FOREACH item IN entries; + IF item.mode != "40000"; tree_files.push(item); ELSE; tree_folders.push(item); @@ -23,25 +23,25 @@ %] [% BLOCK output_tree %] - [% FOREACH item IN tree_type.sort('file') %] + [% FOREACH item IN tree_type.sort('filename') %] - [% item.modestr %] + [% c.stash.mode_string(item.mode) %] [%- - action_type = item.type == 'tree' ? 'tree' : 'blob'; - action_for_link = item.type == 'tree' ? '/ref/tree' : '/ref/blob'; - blob_or_tree_link = c.uri_for_action(action_for_link, c.req.captures, c.req.args.to_path(item.file)) + action_type = item.mode == '40000' ? 'tree' : 'blob'; + action_for_link = item.mode == '40000' ? '/ref/tree' : '/ref/blob'; + blob_or_tree_link = c.uri_for_action(action_for_link, c.req.captures, c.req.args.to_path(item.filename)) -%] - [% item.file %] + [% item.filename %] [% theact %] - [% IF item.type == 'blob' %] - Blob - raw - blame + [% IF item.mode != '40000' %] + Blob + raw + blame [% END %] - Short log + Short log - [% c.req.args.to_path(item.file) %]Loading commit info ... + [% c.req.args.to_path(item.filename) %]Loading commit info ... [% counter = counter + 1 %] [% END %] diff --git a/root/fragment/repository/heads.tt2 b/root/fragment/repository/heads.tt2 index be7b04d..039eb53 100755 --- a/root/fragment/repository/heads.tt2 +++ b/root/fragment/repository/heads.tt2 @@ -3,7 +3,7 @@ <[% cell %]>HEAD <[% cell %]>Last change - <[% cell %]>Branch + <[% cell %]>[% headtype || "Branch" %] <[% cell %]>Actions [% END %] diff --git a/root/fragment/repository/tags.tt2 b/root/fragment/repository/tags.tt2 index 3f47409..b54fa93 100644 --- a/root/fragment/repository/tags.tt2 +++ b/root/fragment/repository/tags.tt2 @@ -1 +1 @@ -[% INCLUDE 'fragment/repository/heads.tt2' heads = tags %] +[% INCLUDE 'fragment/repository/heads.tt2' heads = tags headtype="Tag" %] diff --git a/t/02git_object.t b/t/02git_object.t index d05a54c..72b3755 100644 --- a/t/02git_object.t +++ b/t/02git_object.t @@ -169,15 +169,14 @@ is($patch->{dst}, '5716ca5987cbf97d6bb54920bea6adde242d87e6', 'patch->{dst} is c { my $contents = do { local $/; my $fh = $commit_obj->get_patch; <$fh> }; -ok(index($contents, -'From 3f7567c7bdf7e7ebf410926493b92d398333116e Mon Sep 17 00:00:00 2001 -From: Florian Ragwitz +like $contents, qr{^\QFrom 3f7567c7bdf7e7ebf410926493b92d398333116e Mon Sep 17 00:00:00 2001 +From: Florian Ragwitz <\Erafl[@]debian\Q.org> Date: Tue, 6 Mar 2007 20:39:45 +0100 Subject: [PATCH] bar --- - file1 | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) + file1 |\E\s+2\Q +- + 1 \Efiles?\Q changed, 1 \Einsertions?\Q(+), 1 \Edeletions?\Q(-) diff --git a/file1 b/file1 index 257cc56..5716ca5 100644 @@ -186,8 +185,7 @@ index 257cc56..5716ca5 100644 @@ -1 +1 @@ -foo +bar ---') == 0, 'commit_obj->get_patch can return a patch') - or warn("Got instead: $contents"); +--}, 'commit_obj->get_patch can return a patch'; } # Note - 2 patches = 3 parts due to where we split. diff --git a/t/lib/repositories/bare.git/config b/t/lib/repositories/bare.git/config index c53d818..937807d 100644 --- a/t/lib/repositories/bare.git/config +++ b/t/lib/repositories/bare.git/config @@ -2,4 +2,5 @@ repositoryformatversion = 0 filemode = true bare = true - ignorecase = true +[remote "origin"] + url = /home/dbrook/dev/Gitalist/t/lib/repositories/./tmp diff --git a/t/lib/repositories/bare.git/hooks/commit-msg.sample b/t/lib/repositories/bare.git/hooks/commit-msg.sample index 6ef1d29..b58d118 100755 --- a/t/lib/repositories/bare.git/hooks/commit-msg.sample +++ b/t/lib/repositories/bare.git/hooks/commit-msg.sample @@ -1,7 +1,7 @@ #!/bin/sh # # An example hook script to check the commit log message. -# Called by git-commit with one argument, the name of the file +# Called by "git commit" with one argument, the name of the file # that has the commit message. The hook should exit with non-zero # status after issuing an appropriate message if it wants to stop the # commit. The hook is allowed to edit the commit message file. diff --git a/t/lib/repositories/bare.git/hooks/post-receive.sample b/t/lib/repositories/bare.git/hooks/post-receive.sample index 18d2e0f..7a83e17 100755 --- a/t/lib/repositories/bare.git/hooks/post-receive.sample +++ b/t/lib/repositories/bare.git/hooks/post-receive.sample @@ -9,7 +9,7 @@ # For example: # aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master # -# see contrib/hooks/ for an sample, or uncomment the next line and +# see contrib/hooks/ for a sample, or uncomment the next line and # rename the file to "post-receive". #. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/t/lib/repositories/bare.git/hooks/post-update.sample b/t/lib/repositories/bare.git/hooks/post-update.sample index 5323b56..ec17ec1 100755 --- a/t/lib/repositories/bare.git/hooks/post-update.sample +++ b/t/lib/repositories/bare.git/hooks/post-update.sample @@ -5,4 +5,4 @@ # # To enable this hook, rename this file to "post-update". -exec git-update-server-info +exec git update-server-info diff --git a/t/lib/repositories/bare.git/hooks/pre-commit.sample b/t/lib/repositories/bare.git/hooks/pre-commit.sample index b11ad6a..b187c4b 100755 --- a/t/lib/repositories/bare.git/hooks/pre-commit.sample +++ b/t/lib/repositories/bare.git/hooks/pre-commit.sample @@ -1,12 +1,20 @@ #!/bin/sh # # An example hook script to verify what is about to be committed. -# Called by git-commit with no arguments. The hook should +# Called by "git commit" with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # # To enable this hook, rename this file to "pre-commit". +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + # If you want to allow non-ascii filenames set this variable to true. allownonascii=$(git config hooks.allownonascii) @@ -14,15 +22,18 @@ allownonascii=$(git config hooks.allownonascii) # them from being added to the repository. We exploit the fact that the # printable range starts at the space character and ends with tilde. if [ "$allownonascii" != "true" ] && - test "$(git diff --cached --name-only --diff-filter=A -z | + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test "$(git diff --cached --name-only --diff-filter=A -z $against | LC_ALL=C tr -d '[ -~]\0')" then - echo "Error: Attempt to add a non-ascii filename." + echo "Error: Attempt to add a non-ascii file name." echo - echo "This can cause problems if you want to work together" - echo "with people on other platforms than you." + echo "This can cause problems if you want to work" + echo "with people on other platforms." echo - echo "To be portable it is adviseable to rename the file ..." + echo "To be portable it is advisable to rename the file ..." echo echo "If you know what you are doing you can disable this" echo "check using:" @@ -32,12 +43,4 @@ then exit 1 fi -if git-rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 -fi - exec git diff-index --check --cached $against -- diff --git a/t/lib/repositories/bare.git/hooks/pre-rebase.sample b/t/lib/repositories/bare.git/hooks/pre-rebase.sample index be1b06e..9773ed4 100755 --- a/t/lib/repositories/bare.git/hooks/pre-rebase.sample +++ b/t/lib/repositories/bare.git/hooks/pre-rebase.sample @@ -2,7 +2,7 @@ # # Copyright (c) 2006, 2008 Junio C Hamano # -# The "pre-rebase" hook is run just before "git-rebase" starts doing +# The "pre-rebase" hook is run just before "git rebase" starts doing # its job, and can prevent the command from running by exiting with # non-zero status. # @@ -43,7 +43,7 @@ git show-ref -q "$topic" || { } # Is topic fully merged to master? -not_in_master=`git-rev-list --pretty=oneline ^master "$topic"` +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` if test -z "$not_in_master" then echo >&2 "$topic is fully merged to master; better remove it." @@ -51,11 +51,11 @@ then fi # Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git-rev-list ^master ${publish} | sort` +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` if test "$only_next_1" = "$only_next_2" then - not_in_topic=`git-rev-list "^$topic" master` + not_in_topic=`git rev-list "^$topic" master` if test -z "$not_in_topic" then echo >&2 "$topic is already up-to-date with master" @@ -64,8 +64,8 @@ then exit 0 fi else - not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"` - perl -e ' + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' my $topic = $ARGV[0]; my $msg = "* $topic has commits already merged to public branch:\n"; my (%not_in_next) = map { @@ -157,13 +157,13 @@ B to be deleted. To compute (1): - git-rev-list ^master ^topic next - git-rev-list ^master next + git rev-list ^master ^topic next + git rev-list ^master next if these match, topic has not merged in next at all. To compute (2): - git-rev-list master..topic + git rev-list master..topic if this is empty, it is fully merged to "master". diff --git a/t/lib/repositories/bare.git/hooks/prepare-commit-msg.sample b/t/lib/repositories/bare.git/hooks/prepare-commit-msg.sample index 3652424..f093a02 100755 --- a/t/lib/repositories/bare.git/hooks/prepare-commit-msg.sample +++ b/t/lib/repositories/bare.git/hooks/prepare-commit-msg.sample @@ -1,7 +1,7 @@ #!/bin/sh # # An example hook script to prepare the commit log message. -# Called by git-commit with the name of the file that has the +# Called by "git commit" with the name of the file that has the # commit message, followed by the description of the commit # message's source. The hook's purpose is to edit the commit # message file. If the hook fails with a non-zero status, @@ -22,10 +22,10 @@ case "$2,$3" in merge,) - perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; # ,|template,) -# perl -i.bak -pe ' +# /usr/bin/perl -i.bak -pe ' # print "\n" . `git diff --cached --name-status -r` # if /^#/ && $first++ == 0' "$1" ;; diff --git a/t/lib/repositories/bare.git/hooks/update.sample b/t/lib/repositories/bare.git/hooks/update.sample index fd63b2d..71ab04e 100755 --- a/t/lib/repositories/bare.git/hooks/update.sample +++ b/t/lib/repositories/bare.git/hooks/update.sample @@ -1,7 +1,7 @@ #!/bin/sh # # An example hook script to blocks unannotated tags from entering. -# Called by git-receive-pack with arguments: refname sha1-old sha1-new +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new # # To enable this hook, rename this file to "update". # @@ -64,7 +64,7 @@ zero="0000000000000000000000000000000000000000" if [ "$newrev" = "$zero" ]; then newrev_type=delete else - newrev_type=$(git-cat-file -t $newrev) + newrev_type=$(git cat-file -t $newrev) fi case "$refname","$newrev_type" in diff --git a/t/lib/repositories/bare.git/info/exclude b/t/lib/repositories/bare.git/info/exclude index 2c87b72..a5196d1 100644 --- a/t/lib/repositories/bare.git/info/exclude +++ b/t/lib/repositories/bare.git/info/exclude @@ -1,4 +1,4 @@ -# git-ls-files --others --exclude-from=.git/info/exclude +# git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): diff --git a/t/lib/repositories/bare.git/objects/14/d4a45fe754bb3050e30b9395e93141e4fe9966 b/t/lib/repositories/bare.git/objects/14/d4a45fe754bb3050e30b9395e93141e4fe9966 new file mode 100644 index 0000000..baaea41 Binary files /dev/null and b/t/lib/repositories/bare.git/objects/14/d4a45fe754bb3050e30b9395e93141e4fe9966 differ diff --git a/t/lib/repositories/bare.git/objects/6f/ed92d478142d92f155adbcfa0d368cf926b890 b/t/lib/repositories/bare.git/objects/6f/ed92d478142d92f155adbcfa0d368cf926b890 new file mode 100644 index 0000000..907b956 Binary files /dev/null and b/t/lib/repositories/bare.git/objects/6f/ed92d478142d92f155adbcfa0d368cf926b890 differ diff --git a/t/lib/repositories/bare.git/objects/e0/1ab12f8706746dc92e9901ee555984c9597693 b/t/lib/repositories/bare.git/objects/e0/1ab12f8706746dc92e9901ee555984c9597693 new file mode 100644 index 0000000..39875f5 Binary files /dev/null and b/t/lib/repositories/bare.git/objects/e0/1ab12f8706746dc92e9901ee555984c9597693 differ diff --git a/t/lib/repositories/bare.git/packed-refs b/t/lib/repositories/bare.git/packed-refs new file mode 100644 index 0000000..8242b7b --- /dev/null +++ b/t/lib/repositories/bare.git/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled +14d4a45fe754bb3050e30b9395e93141e4fe9966 refs/heads/master