Re: git-svn checksum mismatch importing large file
- From
Avery Pennarun <apenwarr@gmail.com>
- Date
- Sep 17, 2008, 17:39 UTC
- Message-ID
- <32541b130809171039q22d3776aw45e6ec347c315248@mail.gmail.com>
- In-Reply-To
- <20080917082506.GA8849@atjola.homenet>
On Wed, Sep 17, 2008 at 4:25 AM, Björn Steinbrink <B.Steinbrink@gmx.de> wrote:
Show 19 quoted lines
> On 2008.09.17 09:53:34 +0200, Pascal Obry wrote: >> I get this error: >> >> Checksum mismatch: trunk/data >> expected: 7c59e4dd67b5a9fde6c61cada070537b >> got: 3fcd9d077a5aa51a784a452c9d78d6e0 >> >> To reproduce launch run.sh in attached archive. >> >> I have had this problem since some time now and I finally got some time >> to create a reproducer. I have reproduced this problem with yesterday >> master Git version. > > Your /tmp is probably to small to hold the temporary file that git-svn > creates. At least it doesn't fail for me unless I fill my /tmp first. > > This should be fixed since 29c70e0b3e3183f86f93500882177d0c74069988, at > least it got me a useful error message when I tested it back then. > Avery, any ideas?
It is possible that before my patch, you wouldn't have gotten that error message - instead you would have gotten a corrupt repository, which might have been caught later with an even more obscure-sounding error. It does appear that there's a write() call somewhere in git-svn that still isn't protected by an "or die", however, because we're getting an invalid checksum without getting a write error first.
In any case, if the problem is a giant file that won't fit in /tmp, the best we could do in git-svn is produce a better error message. /tmp is still the "right" place to put temp files. I agree with the suggestion to try pointing the TMPDIR environment variable somewhere else... or else make your /tmp bigger.
Have fun,
Avery