about summary refs log tree commit homepage
path: root/lib/PublicInbox/RepoAtom.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/RepoAtom.pm')
-rw-r--r--lib/PublicInbox/RepoAtom.pm20
1 files changed, 9 insertions, 11 deletions
diff --git a/lib/PublicInbox/RepoAtom.pm b/lib/PublicInbox/RepoAtom.pm
index ab0f2fcc..eb0ed3c7 100644
--- a/lib/PublicInbox/RepoAtom.pm
+++ b/lib/PublicInbox/RepoAtom.pm
@@ -94,11 +94,10 @@ xmlns="http://www.w3.org/1999/xhtml"><pre style="white-space:pre-wrap">
 sub srv_tags_atom {
         my ($ctx) = @_;
         my $max = 50; # TODO configurable
-        my @cmd = ('git', "--git-dir=$ctx->{git}->{git_dir}",
-                        qw(for-each-ref --sort=-creatordate), "--count=$max",
-                        '--perl', $EACH_REF_FMT, 'refs/tags');
+        my $cmd = $ctx->{git}->cmd(qw(for-each-ref --sort=-creatordate),
+                        "--count=$max", '--perl', $EACH_REF_FMT, 'refs/tags');
         $ctx->{-feed_title} = "$ctx->{git}->{nick} tags";
-        my $qsp = PublicInbox::Qspawn->new(\@cmd);
+        my $qsp = PublicInbox::Qspawn->new($cmd);
         $ctx->{-is_tag} = 1;
         $qsp->psgi_yield($ctx->{env}, undef, \&atom_ok, $ctx);
 }
@@ -107,20 +106,19 @@ sub srv_atom {
         my ($ctx, $path) = @_;
         return if index($path, '//') >= 0 || index($path, '/') == 0;
         my $max = 50; # TODO configurable
-        my @cmd = ('git', "--git-dir=$ctx->{git}->{git_dir}",
-                        qw(log --no-notes --no-color --no-abbrev),
-                        $ATOM_FMT, "-$max");
+        my $cmd = $ctx->{git}->cmd(qw(log --no-notes --no-color --no-abbrev),
+                                $ATOM_FMT, "-$max");
         my $tip = $ctx->{qp}->{h}; # same as cgit
         $ctx->{-feed_title} = $ctx->{git}->{nick};
         $ctx->{-feed_title} .= " $path" if $path ne '';
         if (defined($tip)) {
-                push @cmd, $tip;
+                push @$cmd, $tip;
                 $ctx->{-feed_title} .= ", $tip";
         }
         # else: let git decide based on HEAD if $tip isn't defined
-        push @cmd, '--';
-        push @cmd, $path if $path ne '';
-        my $qsp = PublicInbox::Qspawn->new(\@cmd, undef,
+        push @$cmd, '--';
+        push @$cmd, $path if $path ne '';
+        my $qsp = PublicInbox::Qspawn->new($cmd, undef,
                                         { quiet => 1, 2 => $ctx->{lh} });
         $qsp->psgi_yield($ctx->{env}, undef, \&atom_ok, $ctx);
 }