From: Junio C Hamano Date: Mon, 20 Feb 2006 22:02:25 +0000 (-0800) Subject: fmt-merge-msg: avoid open "-|" list form for Perl 5.6 X-Git-Tag: v1.3.0-rc1~163^2~4 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=2a86ec46da99e4cd5e6e394d378ba119d8f5069d;p=git.git fmt-merge-msg: avoid open "-|" list form for Perl 5.6 Signed-off-by: Junio C Hamano --- diff --git a/git-fmt-merge-msg.perl b/git-fmt-merge-msg.perl index c34ddc5d..a77e94eb 100755 --- a/git-fmt-merge-msg.perl +++ b/git-fmt-merge-msg.perl @@ -28,11 +28,12 @@ sub andjoin { } sub repoconfig { - my $fh; my $val; eval { - open $fh, '-|', 'git-repo-config', '--get', 'merge.summary' - or die "$!"; + my $pid = open(my $fh, '-|'); + if (!$pid) { + exec('git-repo-config', '--get', 'merge.summary'); + } ($val) = <$fh>; close $fh; }; @@ -41,25 +42,32 @@ sub repoconfig { sub current_branch { my $fh; - open $fh, '-|', 'git-symbolic-ref', 'HEAD' or die "$!"; + my $pid = open($fh, '-|'); + die "$!" unless defined $pid; + if (!$pid) { + exec('git-symbolic-ref', 'HEAD') or die "$!"; + } my ($bra) = <$fh>; chomp($bra); + close $fh or die "$!"; $bra =~ s|^refs/heads/||; if ($bra ne 'master') { $bra = " into $bra"; } else { $bra = ""; } - return $bra; } sub shortlog { my ($tip, $limit) = @_; my ($fh, @result); - open $fh, '-|', ('git-log', "--max-count=$limit", '--topo-order', - '--pretty=oneline', $tip, '^HEAD') - or die "$!"; + my $pid = open($fh, '-|'); + die "$!" unless defined $pid; + if (!$pid) { + exec('git-log', "--max-count=$limit", '--topo-order', + '--pretty=oneline', $tip, '^HEAD') or die "$!"; + } while (<$fh>) { s/^[0-9a-f]{40}\s+//; push @result, $_;