Thread (17 messages) flat view 17 messages, 8 authors, 2016-08-11

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: 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.
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help