From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 46AA020705 for ; Thu, 8 Sep 2016 22:46:55 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/2] import: hoist out common run_die subroutine Date: Thu, 8 Sep 2016 22:46:50 +0000 Message-Id: <20160908224651.25346-2-e@80x24.org> In-Reply-To: <20160908224651.25346-1-e@80x24.org> References: <20160908224651.25346-1-e@80x24.org> List-Id: We will be reusing this in the next commit, too. --- lib/PublicInbox/Import.pm | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index 09dd38d..083fb1b 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -204,6 +204,14 @@ sub add { $self->{tip} = ":$commit"; } +sub run_die ($$) { + my ($cmd, $env) = @_; + my $pid = spawn($cmd, $env, undef); + defined $pid or die "spawning ".join(' ', @$cmd)." failed: $!"; + waitpid($pid, 0) == $pid or die join(' ', @$cmd) .' did not finish'; + $? == 0 or die join(' ', @$cmd) . " failed: $?\n"; +} + sub done { my ($self) = @_; my $w = delete $self->{out} or return; @@ -222,19 +230,10 @@ sub done { if ($nchg && !$ENV{FAST}) { my $index = "$git_dir/ssoma.index"; my $env = { GIT_INDEX_FILE => $index }; - my @rt = (@cmd, qw(read-tree -m -v -i), $self->{ref}); - $pid = spawn(\@rt, $env, undef); - defined $pid or die "spawn read-tree failed: $!"; - waitpid($pid, 0) == $pid or die 'read-tree did not finish'; - $? == 0 or die "failed to update $git_dir/ssoma.index: $?\n"; + run_die([@cmd, qw(read-tree -m -v -i), $self->{ref}], $env); } if ($nchg) { - $pid = spawn([@cmd, 'update-server-info'], undef, undef); - defined $pid or die "spawn update-server-info failed: $!\n"; - waitpid($pid, 0) == $pid or - die 'update-server-info did not finish'; - $? == 0 or die "failed to update-server-info: $?\n"; - + run_die([@cmd, 'update-server-info'], undef); eval { require PublicInbox::SearchIdx; my $inbox = $self->{inbox} || $git_dir; -- EW