Re: git-svn failure when symlink added in svn
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:07
Seth Falcon [off-list ref] writes:
Junio C Hamano [off-list ref] writes: ...quoted
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...This also works as a fix for me on OS X and obviously is nicer than resorting to temp files. Again, with this patch against git master the test case that Eric posted passes as does one of my own examples.
Well, I think the sysseek should be done only when we did read 'link ' from the beginning and not in other cases, so in that sense my patch is very broken. Probably the sysseek() needs to be done inside the "if ($fb->mode_b} == 120000)" part, after it checks for 'link '. By the way. I admit I have never given a serious look at the code of git-svn.perl until now. It has comparison with 120000 and 100644 all over with ==/!=. Even though these originally come from parse result of textual output from ls-tree and diff-tree, and the code never treats $mode strings as octal integer, I would feel better if the literals were quoted and comparison done with eq/ne.