Re: svn clone Checksum mismatch question
From: Eric Wong <hidden>
Date: 2016-06-15 22:46:29
Anton Gyllenberg [off-list ref] wrote:
I hope I didn't hijack the thread with an unrelated issue.
No worries if you did. You helped me find a stupid bug in git-svn that's been there for 3 years. I couldn't help the original poster at all since he was working on a private repo and I can't support git-svn under Windows.
2009/3/26 Anton Gyllenberg [off-list ref]:quoted
I don't know if this is the same issue, but the I get a similar error on the public twisted-python repository on both windows and linux, with several different versions and plenty of free disk space. As this is a publicly accessible repository it should be easy to reproduce: git svn init -s svn://svn.twistedmatrix.com/svn/Twisted twisted cd twisted git svn fetch -r 13611:HEAD This ultimately dies with the following error: W: +empty_dir: trunk/doc/core/howto/listings/finger/finger r13612 = f6d995ac255e3dfa08a517a6e72fbcfe63feaaa0 (trunk) Checksum mismatch: branches/foom/--omg-optimized/twisted/internet/cdefer/cdefer.pyx 264b0c5f7b3a00d401d1a5dcce67a3734f0eede3 expected: c7ccddd195f132926e20bab573da7ef3 got: f006323ff4714ca52c0228ce6390d415is branches/foom/--omg-optimized (like with the branch name being foom/--omg-optimized), not just branches/foom. Is think git-svn relies on the standard layout being branches directly under the branches/ directory, but I don't see how this would get the paths mixed up like this.
Root problem: I misused "git ls-tree" for 3 years and nobody noticed. At least I'm glad the checksum verification every step of the way caught this bug and prevented propagating it into repository corruption.
Looking at what was done around this commit one finds odd stuff, like deleting directories in trunk and then copying from a previous revision of trunk to under the branch: http://twistedmatrix.com/trac/changeset/13611 I created a local test svn repository and tried to do something similar but git-svn had no problem with my test.
I was fooled by the weird copy sequences, too.
This is issue is not critical for me in any way but if somebody wants to look into it I am happy to help out.
I guess few folks in the UNIX world are crazy enough to make pathnames prefixed with dashes :) But I do wonder how/if many repositories out there failed and nobody bothered to report it... Patch in reply -- Eric Wong