Merge branch 'jc/perl'
authorJunio C Hamano <junkio@cox.net>
Wed, 22 Feb 2006 06:51:21 +0000 (22:51 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 22 Feb 2006 06:51:21 +0000 (22:51 -0800)
* jc/perl:
  cvsimport: avoid open "-|" list form for Perl 5.6
  svnimport: avoid open "-|" list form for Perl 5.6
  send-email: avoid open "-|" list form for Perl 5.6
  rerere: avoid open "-|" list form for Perl 5.6
  fmt-merge-msg: avoid open "-|" list form for Perl 5.6

1  2 
git-fmt-merge-msg.perl

diff --combined git-fmt-merge-msg.perl
@@@ -28,11 -28,12 +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;
        };
  
  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 ($tip) = @_;
        my ($fh, @result);
-       open $fh, '-|', ('git-log', '--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',
++          exec('git-log', '--topo-order',
+                '--pretty=oneline', $tip, '^HEAD') or die "$!";
+       }
        while (<$fh>) {
                s/^[0-9a-f]{40}\s+//;
                push @result, $_;
@@@ -160,7 -168,7 +168,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";
        }