Re: svn clone Checksum mismatch question
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Mar 29, 2009, 06:08 UTC
- Message-ID
- <20090329060858.GB15773@dcvr.yhbt.net>
- In-Reply-To
- <83dfc36c0903270418q59a81290xcb8043b8c037be18@mail.gmail.com>
Anton Gyllenberg <anton@iki.fi> 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.
Show 24 quoted lines
> 2009/3/26 Anton Gyllenberg <anton@iki.fi>: > > 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: f006323ff4714ca52c0228ce6390d415 > > is 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.
Show 7 quoted lines
> 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