X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-fmt-merge-msg.perl;h=afe80e6321a1495c34139ec47af7d7d6aeb239fa;hb=621c53cc082299eaf69e9f2dc0274547c7d87fb0;hp=616bb521cb2171b8e8e5066a8c022a9317e10d38;hpb=8cd52c3ca9c865891d8f15db08af324aadb7b913;p=git.git diff --git a/git-fmt-merge-msg.perl b/git-fmt-merge-msg.perl index 616bb521..afe80e63 100755 --- a/git-fmt-merge-msg.perl +++ b/git-fmt-merge-msg.perl @@ -28,42 +28,30 @@ sub andjoin { } sub repoconfig { - my $fh; - my $val; - eval { - open $fh, '-|', 'git-repo-config', '--get', 'merge.summary' - or die "$!"; - ($val) = <$fh>; - close $fh; - }; + my ($val) = qx{git-repo-config --get merge.summary}; return $val; } sub current_branch { - my $fh; - open $fh, '-|', 'git-symbolic-ref', 'HEAD' or die "$!"; - my ($bra) = <$fh>; + my ($bra) = qx{git-symbolic-ref HEAD}; + chomp($bra); $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 "$!"; - while (<$fh>) { + my ($tip) = @_; + my @result; + foreach ( qx{git-log --no-merges --topo-order --pretty=oneline $tip ^HEAD} ) { s/^[0-9a-f]{40}\s+//; push @result, $_; } - close $fh or die "$!"; + die "git-log failed\n" if $?; return @result; } @@ -159,7 +147,7 @@ my $limit = 20; for (@origin) { my ($sha1, $name) = @$_; - my @log = shortlog($sha1, $limit + 1); + my @log = shortlog($sha1); if ($limit + 1 <= @log) { print "\n* $name: (" . scalar(@log) . " commits)\n"; }