git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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.out
Which culminates in:
    Checksum mismatch: ThirdParty/whateverdir/blahblah
    expected: c342eaa17fe219a764c06642bb951474
        got: 848bbb56e4c22755ffb687fb70ae1ac6

For 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
Message 1 of 1 in “[BUG] Recent git-svn gets checksum errors on very large fetches”
  1. Avery PennarunJun 25, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.