about summary refs log tree commit homepage
path: root/lib/PublicInbox/GitHTTPBackend.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-07-01 00:42:44 +0000
committerEric Wong <e@80x24.org>2016-07-01 00:42:44 +0000
commitbd3ed82913cd065636525a5dd8bab9edcb3e3cb1 (patch)
treee21e58763eef76d6103c0b7f3030c6c8b8bd3337 /lib/PublicInbox/GitHTTPBackend.pm
parent4cf3587ec9e6014b0eabc8a3a63e502c0298912d (diff)
downloadpublic-inbox-bd3ed82913cd065636525a5dd8bab9edcb3e3cb1.tar.gz
No point in forcing users to pass a hashref/object to
get a single git directory.
Diffstat (limited to 'lib/PublicInbox/GitHTTPBackend.pm')
-rw-r--r--lib/PublicInbox/GitHTTPBackend.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm
index 7267a1d7..4f58c6bb 100644
--- a/lib/PublicInbox/GitHTTPBackend.pm
+++ b/lib/PublicInbox/GitHTTPBackend.pm
@@ -80,7 +80,7 @@ sub serve_dumb {
                 return r(404);
         }
 
-        my $f = "$git->{git_dir}/$path";
+        my $f = (ref $git ? $git->{git_dir} : $git) . '/' . $path;
         return r(404) unless -f $f && -r _; # just in case it's a FIFO :P
         my @st = stat(_);
         my $size = $st[7];
@@ -179,7 +179,7 @@ sub serve_smart {
                 my $val = $env->{$name};
                 $env{$name} = $val if defined $val;
         }
-        my $git_dir = $git->{git_dir};
+        my $git_dir = ref $git ? $git->{git_dir} : $git;
         $env{GIT_HTTP_EXPORT_ALL} = '1';
         $env{PATH_TRANSLATED} = "$git_dir/$path";
         my %rdr = ( 0 => fileno($in) );