Re: git svn bug?
On Thu, Oct 2, 2008 at 10:49 AM, Björn Steinbrink <B.Steinbrink@gmx.de> wrote:
Show 16 quoted lines
> On 2008.10.02 16:50:45 +0800, Ark Xu wrote:
>> Now I got a tough problem which stopping me for any svn related
>> operations. There is a file log4j.xml that is somehow strange because
>> when I fetch it, i got the following message:
>>
>> tms-service/src/test/resources/log4j.xml has mode 120000 but is not a
>> link at /opt/local/bin/git-svn line 3230.
>> M tms-service/src/test/resources/log4j.xml
>>
>> And then, all the operation will lead to :
>> Checksum mismatch: branches/5.3/tms-service/src/test/resources/log4j.xml
>> 51031cbb0e1a2e878e4a3836cf0baa9b80a037a5
>> expected: fab6daef9fc355b9342e26047f5d0141
>> got: 0e7e9081d608c80d2de0340ba5cd1600
>
> Which git version? And is your /tmp large enough to store that file?
I've had issues similar to this when I did Ctrl+C during git svn fetch. Prior to the issue you've pointed out popping up, though, I could compare the repo against another git svn fetch which was not interrupted, and the commits would diverge at some point. When I looked into the commit which diverged, the commit object was present in my interrupted repo, but the diff was empty, while it was non-empty in the other repo.
It seems there's an issue with git svn fetch atomically fetching and updating its refs. I've not had time to investigate further, but I certainly want to.
In the meantime, I worked around it on initial fetch from a big svn repository by using git svn fetch -r1:n , and increasing n in increments, so it could run to completion without me interrupting it.
This was seen using git 1.5.4.3 from Ubuntu.
Deskin Miller