Re: Checksum mismatch during svnadmin load
Michael Haggerty <[email protected]>
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.user |
|---|---|
| Message-ID | <[email protected]> |
On 04/26/2011 04:16 PM, Victor Engmark wrote:
> Using cvs2svn version 2.3.0 and svnadmin version 1.6.15, I get a
> reproducible difference in the checksum of a single file. I've tried
> with the "--eol-from-mime-type" and "--use-cvs" options separately,
> and running `cvs admin -kb .../function.gif`, but I get the same
> result. It looks like the file is treated like a binary (unless the
> "Text-content-length" below indicates otherwise). At this point I've
> no idea what could be wrong, unless it's the newline in the file
> contents (between "?^A" and "&lH") that is not somehow properly
> escaped. The md5sum of the file in the checkout matches the
> "Text-content-md5" value below.
> [...]
>
> Command output:
>
> # cat /tmp/${PKG}.export | su -c '/path/to/svnadmin load /home/svnroot' wwwrun
> <<< Started new transaction, based on original revision 2
> * adding path : ... ... done.
> ...
> svnadmin: Checksum mismatch, file '/.../function.gif':
> expected: 84af16d890e6a8ce052cdaeefce1627f
> actual: 6a86558214adc8b95a8366d4176ef3ba
>
> * adding path : .../function.gif ...
The error that you are seeing is caused by "svnadmin load" comparing the
md5sum of the data that it finds in the dumpfile against the md5sum that
cvs2svn computed for the same data. The checksums should be the same
regardless of what cvs2svn conversion options were used; it is
essentially an internal data integrity check. In particular, this check
should succeed regardless of whether cvs2svn converts the file as text
or binary (though the correctness of the eventual Subversion repository
contents of course depends on this distinction).
This code has been used many times for many types of files, and I cannot
remember a report of a checksum error if this type before. Therefore, I
suspect that the fault is not in cvs2svn but rather in something has
corrupted the file between the time that cvs2svn created it and the time
that "svnadmin load" read it. Perhaps you have copied the file in text
mode? Perhaps the "su -c" command that you are using is not 8-bit clean
(experiment with running "svnadmin load" under your own username)?
Perhaps the file is stored on a foreign filesystem that is mounted in
text mode? Perhaps one of your tools (e.g., Python or Python's md5sum
library) was compiled with bizarre options?
Please check these possibilities, and if you still cannot figure out the
cause of the problem, submit a full bug report including a test case
that we can use to reproduce the problem ourselves (see the FAQ for the
information that is required).
Michael
--
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/
------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=2726812
To unsubscribe from this discussion, e-mail: [[email protected]].