From: Junio C Hamano Date: Sat, 28 Apr 2007 22:43:37 GMT Subject: Re: git-svn failure when symlink added in svn Message-ID: <7vwszwi0h2.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Seth Falcon writes: > Junio C Hamano writes: > ... >> 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.