Merge remote branch 'seveas/seveas/syntax_highlight'
Dan Brook [Mon, 1 Apr 2013 21:28:44 +0000 (23:28 +0200)]
* seveas/seveas/syntax_highlight:
  Have linenumbers in blob displays
  Syntax higlighting improvements

28 files changed:
Changes
Makefile.PL
gitalist.psgi [new file with mode: 0644]
lib/Gitalist.pm
lib/Gitalist/Controller.pm
lib/Gitalist/Controller/Fragment/Ref.pm
lib/Gitalist/Controller/Root.pm
lib/Gitalist/Git/Object.pm
lib/Gitalist/Git/Object/HasTree.pm
lib/Gitalist/Git/Repository.pm
lib/Gitalist/Utils.pm
root/fragment/ref/tree.tt2
root/fragment/repository/heads.tt2
root/fragment/repository/tags.tt2
t/02git_object.t
t/lib/repositories/bare.git/config
t/lib/repositories/bare.git/hooks/commit-msg.sample
t/lib/repositories/bare.git/hooks/post-receive.sample
t/lib/repositories/bare.git/hooks/post-update.sample
t/lib/repositories/bare.git/hooks/pre-commit.sample
t/lib/repositories/bare.git/hooks/pre-rebase.sample
t/lib/repositories/bare.git/hooks/prepare-commit-msg.sample
t/lib/repositories/bare.git/hooks/update.sample
t/lib/repositories/bare.git/info/exclude
t/lib/repositories/bare.git/objects/14/d4a45fe754bb3050e30b9395e93141e4fe9966 [new file with mode: 0644]
t/lib/repositories/bare.git/objects/6f/ed92d478142d92f155adbcfa0d368cf926b890 [new file with mode: 0644]
t/lib/repositories/bare.git/objects/e0/1ab12f8706746dc92e9901ee555984c9597693 [new file with mode: 0644]
t/lib/repositories/bare.git/packed-refs [new file with mode: 0644]

diff --git a/Changes b/Changes
index 55068fb..ae01cdd 100644 (file)
--- 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.
index d3c9f0a..c0555f5 100644 (file)
@@ -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 (file)
index 0000000..3829bdb
--- /dev/null
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+
+use Gitalist;
+
+my $app = Gitalist->apply_default_middlewares(Gitalist->psgi_app);
+$app;
+
index cde6dff..e200d1a 100644 (file)
@@ -15,7 +15,7 @@ use Catalyst qw/
                 SubRequest
 /;
 
-our $VERSION = '0.003009';
+our $VERSION = '0.004001';
 $VERSION = eval $VERSION;
 
 __PACKAGE__->config(
index 9839ac3..4d34e8b 100644 (file)
@@ -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;
+
index cbfacda..bc79659 100644 (file)
@@ -54,7 +54,7 @@ after tree => sub {
     ;
     $c->stash(
         tree      => $tree_obj,
-        tree_list => $tree_obj->tree,
+        entries   => $tree_obj->entries,
     );
 };
 
index 7b921f8..42896ea 100644 (file)
@@ -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);
+    }
   );
 }
 
index 7d46632..c4e87d4 100644 (file)
@@ -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
index 43d4d7b..6e1b4fe 100644 (file)
@@ -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;
index c6981bd..cb16eb2 100644 (file)
@@ -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"
index f11dc34..6d32446 100644 (file)
@@ -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__
index d83e358..f2d63a5 100755 (executable)
@@ -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);
 %]
 
 [% BLOCK output_tree %]
-       [% FOREACH item IN tree_type.sort('file') %]
+       [% FOREACH item IN tree_type.sort('filename') %]
        <tr [% "class='invert'" IF counter % 2 %]>
-               <td class='file-mode'>[% item.modestr %]</td>
+               <td class='file-mode'>[% c.stash.mode_string(item.mode) %]</td>
          [%-
-              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))
          -%]
-               <td class="file-name"><a href="[% blob_or_tree_link %]" class="[% item.type == 'blob' ? 'file' : 'folder' %]">[% item.file %]</a></td>
+               <td class="file-name"><a href="[% blob_or_tree_link %]" class="[% item.mode == '40000' ? 'folder' : 'file' %]">[% item.filename %]</a></td>
                <td class='action-list'>
        <a href="[% blob_or_tree_link %]">[% theact %]</a>
-         [% IF item.type == 'blob' %]
-       <a href="[% c.uri_for_action('/ref/blob', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blob" class="button blob">Blob</a>
-       <a href="[% c.uri_for_action('/ref/raw', c.req.captures, c.req.args.to_path(item.file)) %]" title="Raw" class="button raw">raw</a>
-       <a href="[% c.uri_for_action('/ref/blame', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blame" class="button blame">blame</a>
+         [% IF item.mode != '40000' %]
+       <a href="[% c.uri_for_action('/ref/blob', c.req.captures, c.req.args.to_path(item.filename)) %]" title="Blob" class="button blob">Blob</a>
+       <a href="[% c.uri_for_action('/ref/raw', c.req.captures, c.req.args.to_path(item.filename)) %]" title="Raw" class="button raw">raw</a>
+       <a href="[% c.uri_for_action('/ref/blame', c.req.captures, c.req.args.to_path(item.filename)) %]" title="Blame" class="button blame">blame</a>
          [% END %]
-           <a href="[% c.uri_for_action('/ref/history', c.req.captures, c.req.args.to_path(item.file)) %]" title="History (Short log)" class="button shortlog">Short log</a>
+           <a href="[% c.uri_for_action('/ref/history', c.req.captures, c.req.args.to_path(item.filename)) %]" title="History (Short log)" class="button shortlog">Short log</a>
                </td>
-          <td class="message"><span class='js-data'>[% c.req.args.to_path(item.file) %]</span>Loading commit info ...</td>
+          <td class="message"><span class='js-data'>[% c.req.args.to_path(item.filename) %]</span>Loading commit info ...</td>
        </tr>
                [% counter = counter + 1 %]
        [% END %]
index be7b04d..039eb53 100755 (executable)
@@ -3,7 +3,7 @@
 <tr class="header">
    <[% cell %]>HEAD</[% cell %]>
    <[% cell %]>Last change</[% cell %]>
-   <[% cell %]>Branch</[% cell %]>
+   <[% cell %]>[% headtype || "Branch" %]</[% cell %]>
    <[% cell %]>Actions</[% cell %]>
 </tr>
 [% END %]
index 3f47409..b54fa93 100644 (file)
@@ -1 +1 @@
-[% INCLUDE 'fragment/repository/heads.tt2' heads = tags %]
+[% INCLUDE 'fragment/repository/heads.tt2' heads = tags headtype="Tag" %]
index d05a54c..72b3755 100644 (file)
@@ -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 <rafl@debian.org>
+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.
index c53d818..937807d 100644 (file)
@@ -2,4 +2,5 @@
        repositoryformatversion = 0
        filemode = true
        bare = true
-       ignorecase = true
+[remote "origin"]
+       url = /home/dbrook/dev/Gitalist/t/lib/repositories/./tmp
index 6ef1d29..b58d118 100755 (executable)
@@ -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.
index 18d2e0f..7a83e17 100755 (executable)
@@ -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
index 5323b56..ec17ec1 100755 (executable)
@@ -5,4 +5,4 @@
 #
 # To enable this hook, rename this file to "post-update".
 
-exec git-update-server-info
+exec git update-server-info
index b11ad6a..b187c4b 100755 (executable)
@@ -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 --
index be1b06e..9773ed4 100755 (executable)
@@ -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".
index 3652424..f093a02 100755 (executable)
@@ -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,
 
 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" ;;
 
index fd63b2d..71ab04e 100755 (executable)
@@ -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
index 2c87b72..a5196d1 100644 (file)
@@ -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 (file)
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 (file)
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 (file)
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 (file)
index 0000000..8242b7b
--- /dev/null
@@ -0,0 +1,2 @@
+# pack-refs with: peeled 
+14d4a45fe754bb3050e30b9395e93141e4fe9966 refs/heads/master