diff --git a/git-rerere.perl b/git-rerere.perl
index df119517fe6559a3e5d521f2cf54ea8fadebb36e..d3664ff491fe73d8a6acf6e2c4da5806c5753ce1 100755 (executable)
--- a/git-rerere.perl
+++ b/git-rerere.perl
sub find_conflict {
my $in;
local $/ = "\0";
sub find_conflict {
my $in;
local $/ = "\0";
- open $in, '-|', qw(git ls-files -z -u) or die "$!: ls-files";
+ my $pid = open($in, '-|');
+ die "$!" unless defined $pid;
+ if (!$pid) {
+ exec(qw(git ls-files -z -u)) or die "$!: ls-files";
+ }
my %path = ();
my @path = ();
while (<$in>) {
my %path = ();
my @path = ();
while (<$in>) {