Re: git-svn failure when symlink added in svn

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]