about summary refs log tree commit homepage
path: root/lib/PublicInbox/Import.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-12-31 13:24:36 +0000
committerEric Wong <e@80x24.org>2020-12-31 13:24:36 +0000
commit0c8106d44f317175e122744b43407bf067183175 (patch)
treef59296dc3c63c8ca1dd8445821f43777333ba30e /lib/PublicInbox/Import.pm
parent9d29ceda4eb8c9973749d74b928416f5c3cc78f8 (diff)
parent0f461dcd3317f44670e2fc50346f87ff41e80127 (diff)
downloadpublic-inbox-0c8106d44f317175e122744b43407bf067183175.tar.gz
* origin/master: (58 commits)
  ds: flatten + reuse @events, epoll_wait style fixes
  ds: simplify EventLoop implementation
  check defined return value for localized slurp errors
  import: check for git->qx errors, clearer return values
  git: qx: avoid extra "local" for scalar context case
  search: remove {mset} option for ->mset method
  search: remove pointless {relevance} setting
  miscsearch: take reopen from Search and use it
  extsearch: unconditionally reopen on access
  extindex: allow using --all without EXTINDEX_DIR
  extindex: add undocumented --no-scan switch
  extindex: enable autoflush on STDOUT/STDERR
  extindex: various --watch signal handling fixes
  extindex: --watch for inotify-based updates
  eml: fix undefined vars on <Perl 5.28
  t/config: test --get-urlmatch for git <2.26
  default to CORE::warn in $SIG{__WARN__} handlers
  inbox: name variable for values loop iterator
  inboxidle: avoid needless syscalls on refresh
  inboxidle: clue users into resolving ENOSPC from inotify
  ...
Diffstat (limited to 'lib/PublicInbox/Import.pm')
-rw-r--r--lib/PublicInbox/Import.pm9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm
index b7be4c46..079afc5f 100644
--- a/lib/PublicInbox/Import.pm
+++ b/lib/PublicInbox/Import.pm
@@ -48,7 +48,7 @@ sub gfi_start {
 
         return ($self->{in}, $self->{out}) if $self->{pid};
 
-        my (@ret, $out_r, $out_w);
+        my ($in_r, $pid, $out_r, $out_w);
         pipe($out_r, $out_w) or die "pipe failed: $!";
 
         $self->lock_acquire;
@@ -56,27 +56,28 @@ sub gfi_start {
                 my ($git, $ref) = @$self{qw(git ref)};
                 local $/ = "\n";
                 chomp($self->{tip} = $git->qx(qw(rev-parse --revs-only), $ref));
+                die "fatal: rev-parse --revs-only $ref: \$?=$?" if $?;
                 if ($self->{path_type} ne '2/38' && $self->{tip}) {
                         local $/ = "\0";
                         my @t = $git->qx(qw(ls-tree -r -z --name-only), $ref);
+                        die "fatal: ls-tree -r -z --name-only $ref: \$?=$?" if $?;
                         chomp @t;
                         $self->{-tree} = { map { $_ => 1 } @t };
                 }
                 my @cmd = ('git', "--git-dir=$git->{git_dir}",
                         qw(fast-import --quiet --done --date-format=raw));
-                my ($in_r, $pid) = popen_rd(\@cmd, undef, { 0 => $out_r });
+                ($in_r, $pid) = popen_rd(\@cmd, undef, { 0 => $out_r });
                 $out_w->autoflush(1);
                 $self->{in} = $in_r;
                 $self->{out} = $out_w;
                 $self->{pid} = $pid;
                 $self->{nchg} = 0;
-                @ret = ($in_r, $out_w);
         };
         if ($@) {
                 $self->lock_release;
                 die $@;
         }
-        @ret;
+        ($in_r, $out_w);
 }
 
 sub wfail () { die "write to fast-import failed: $!" }