[BUG] Recent git-svn gets checksum errors on very large fetches
- From
Avery Pennarun <apenwarr@gmail.com>
- Date
- Jun 25, 2008, 03:23 UTC
- Message-ID
- <32541b130806242023r167935f4off85cdd6a49d2750@mail.gmail.com>
My svn repo has 17000+ files in 1000+ directories. I managed to narrow my problem down to this sequence of steps:
mkdir poo
cd poo
git init
git svn init file:///home/averyp/svn.bak/branches/MyBranch
git svn fetch -r3095 2>&1 | tee git.outWhich culminates in:
Checksum mismatch: ThirdParty/whateverdir/blahblah
expected: c342eaa17fe219a764c06642bb951474
got: 848bbb56e4c22755ffb687fb70ae1ac6For extra excitement, if I run the same command multiple times, the exact file (blahblah) with the checksum mismatch differs each time. However, it tends to be a file approximately the same "distance" down in the fetch: it's almost always in whateverdir, which contains only 333 out of the 17000 files.
This leads me to believe there's a race condition or buffer problem somewhere causing the problem. Using git-bisect, I discovered that it works fine in git 1.5.5.1, and that this patch is the one to blame:
commit ffe256f9bac8a40ff751a9341a5869d98f72c285 Author: Adam Roben <aroben@apple.com> Date: Fri May 23 16:19:41 2008 +0200
git-svn: Speed up fetch
Figures. :)
Reverting it directly seems to cause a conflict, so I can't test for sure that the latest master with this patch reverted would work correctly.
Not quite sure what could be at fault here, or what to do next. Unfortunately it's hard to assemble a test case for timing-related problems like this. Thoughts?
Thanks,
Avery