]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - bin/rgit
Set a process group when possible
[perl/modules/rgit.git] / bin / rgit
index e6bc9100cbb01edd930de2373521b6b353d5547c..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;
 
@@ -152,7 +153,7 @@ Add a remote to all repositories in "/foo/bar" to their bare counterpart in C<qu
 
 =head1 DEPENDENCIES
 
-The core modules L<Carp>, L<Cwd>, L<Exporter>, L<File::Find>, L<File::Spec::Functions> and L<List::Util>.
+The core modules L<Carp>, L<Cwd>, L<Exporter>, L<File::Find>, L<File::Spec::Functions>, L<List::Util> and L<POSIX>.
 
 L<Object::Tiny>.