combine-diff: Honour -z option correctly.
[gitweb.git] / git-fmt-merge-msg.perl
index c34ddc5d5ec1b14ceb80fd699ad6b7c96e3f6b4c..dae383f231f4fc4dd5482b2e091da5fe80cfa35d 100755 (executable)
@@ -28,21 +28,12 @@ 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') {
@@ -50,21 +41,17 @@ sub current_branch {
        } 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 --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;
 }
 
@@ -160,7 +147,7 @@ sub shortlog {
 
 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";
        }