]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - bin/rgit
Set a process group when possible
[perl/modules/rgit.git] / bin / rgit
index 53312f8ea1c4f19f956d294df6128568663e727c..ca7b0f34b2bcb710e34391329a85b19335a3aea9 100755 (executable)
--- a/bin/rgit
+++ b/bin/rgit
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 
 use Carp qw/croak/;
+use Config qw/%Config/;
 use Cwd qw/cwd/;
 use File::Spec::Functions qw/catfile path/;
 use List::Util qw/first/;
@@ -16,9 +17,8 @@ our $VERSION = '0.03';
 BEGIN {
  if (-t && eval { use Term::ReadKey; 1 }) {
   *policy = sub {
-   my ($cmd, $conf, $repo, $status) = @_;
+   my ($cmd, $conf, $repo, $status, $signal) = @_;
    return NEXT unless $status;
-   print STDERR "git returned $status\n";
    print STDERR "[a]bort, [i]gnore, [I]gnore all, [r]etry, open [s]hell ?";
    ReadMode 4;
    my $key = ReadKey 0;
@@ -38,14 +38,15 @@ BEGIN {
   };
  } else {
   *policy = sub {
-   my ($cmd, $conf, $repo, $status) = @_;
+   my ($cmd, $conf, $repo, $status, $signal) = @_;
    return NEXT unless $status;
-   print STDERR "git returned $status, aborting\n";
    return LAST;
   };
  }
 }
 
+setpgrp 0, 0 if $Config{d_setpgrp};
+
 my $cmd = first { !/^-/ } @ARGV;
 $cmd = ' ' unless defined $cmd;