Seth Falcon <sethfalcon@xxxxxxxxx> writes: > On OS X, I get: > > ziti:~/temp seth$ ./perltest1.pl > read[5]: link > child says: child: at 5 Ah, so the previous read($fh, $buf, 5) lets stdio absorb the whole (short) input, and the underlying seek pointer is not adjusted back across fork, and the child does not have anything to read. > And uncommenting the sysseek call, I get: > > ziti:~/temp seth$ ./perltest1.pl > read[5]: link > child says: child: at 5 > child says: >>12345 Then I suspect the following could be less invasive and more efficient fix for the problem. I do not have an access to MacOS box, and I do not have a working sync with any SVN repository, so I cannot test it myself, though... diff --git a/git-svn.perl b/git-svn.perl index 7b5f8ab..e487da6 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -2454,6 +2454,7 @@ sub close_file { } defined(my $pid = open my $out,'-|') or die "Can't fork: $!\n"; if (!$pid) { + sysseek($fh, 5, 0); open STDIN, '<&', $fh or croak $!; exec qw/git-hash-object -w --stdin/ or croak $!; } - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html