[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Subversion 1.0.5 to 1.2.3 migration: load errors due to checksum mismatch

From: Jan Lambrecht <j.lambrecht_at_partezis.be>
Date: 2006-04-21 09:41:30 CEST

To: maxb_at_ukf.net

Hi,

I picked up your name from the link below and wondered if you could
somehow give me any pointers or other people to contact about this problem.

Reading: http://svn.haxx.se/users/archive-2004-12/0089.shtml
<http://svn.haxx.se/users/archive-2004-12/0089.shtml>

I'm having exactly the same problem migrating
from an old Subversion 1.0.5 repository hosted on a Solaris 2.8 system.

[svnadmin@sun-s5:/export/home/svnadmin] svn --version
svn, version 1.0.5 (r9954)
compiled Jun 23 2004, 15:26:54
[svnadmin@sun-s5:/export/home/svnadmin]

migrating to a recent Subversion in a Cygwin environment.

 

[jalambre@pc-jalambre:/c/jalambre/svn] svn --version
svnversion, version 1.2.3 (r15833)
   compiled Sep 13 2005, 22:45:22

Copyright (C) 2000-2005 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
<http://subversion.tigris.org/>
This product includes software developed by CollabNet
(http://www.Collab.Net/ <http://www.Collab.Net/> ).
...
[jalambre@pc-jalambre:/c/jalambre/svn] cygcheck -c |egrep -i
"subversion|Package"

Cygwin Package Information

Package Version Status

subversion 1.2.3-1 OK

subversion-devel 1.2.3-1 OK

[jalambre@pc-jalambre:/c/jalambre/svn] svnadmin create other
[jalambre@pc-jalambre:/c/jalambre/svn] svnadmin load other
<other.20060223161435 >other.load.log 2>&1
[jalambre@pc-jalambre:/c/jalambre/svn] cat other.load.log
svnadmin: Checksum mismatch, file '/trunk/src/aoiloader/main/aoiloader.dsp':
   expected: 10dfefcb3a2c233fbecacc30f0131cdb
     actual: 2b44a637f14d769dd9a189a94adeda2b

<<< Started new transaction, based on original revision 1
     * adding path : branch ... done.
     * adding path : tag ... done.
     * adding path : trunk ... done.
     * adding path : trunk/readme ... done.
     * adding path : trunk/src ... done.
     * adding path : trunk/src/aoiloader ... done.
     * adding path : trunk/src/aoiloader/bi ... done.
     * adding path : trunk/src/aoiloader/bi/bi.c ... done.
     * adding path : trunk/src/aoiloader/bi/bi.h ... done.
     * adding path : trunk/src/aoiloader/bi/stream.c ... done.
     * adding path : trunk/src/aoiloader/bi/stream.h ... done.
     * adding path : trunk/src/aoiloader/main ... done.
     * adding path : trunk/src/aoiloader/main/aoiloader.dsp ...
[jalambre@pc-jalambre:/c/jalambre/svn] head -1 other.20060223161435
SVN-fs-dump-format-version: 2
[jalambre@pc-jalambre:/c/jalambre/svn]

 

Verification of the original repository yields no errors
and the dump is created right after the verify, also without any errors.

Apparently, the MD5 checksum, calculated by subversion at load time
is incorrect, when it encounters a first DOS-format text file
(aoiloader.dsp).
Remark that the preceding files in the dump are Unix format text files
(bi.c, bi.h, stream.c, stream.h).

I extracted the offending file (aoiloader.dsp) from the dump file, found
after the following file header,

Node-path: trunk/src/aoiloader/main/aoiloader.dsp
Node-kind: file
Node-action: add
Prop-content-length: 35
Text-content-length: 7293
Text-content-md5: 10dfefcb3a2c233fbecacc30f0131cdb
Content-length: 7328

K 14
svn:executable
V 0

PROPS-END

 

and did a manual MD5 on it, which produced the correct result.

[jalambre@pc-jalambre:/c/jalambre/svn] md5 -v
2.0 (2003-04-15)
[jalambre@pc-jalambre:/c/jalambre/svn] ll aoiloader.dsp
-rw-rw-rw- 1 jalambre Domain Users 7293 Feb 25 21:51 aoiloader.dsp
[jalambre@pc-jalambre:/c/jalambre/svn] md5 -l aoiloader.dsp
10dfefcb3a2c233fbecacc30f0131cdb aoiloader.dsp
[jalambre@pc-jalambre:/c/jalambre/svn]

 

This leads me to conclude that a wrong checksum calculation is done at load
time.
I suppose somehow subversion either uses a different checksum version or
does not
consider the whole file to do the calculation on (omitting trailing ^M
characters ?) ...

 

PS: I also looked at http://www.svnforum.org/2017/viewtopic.php?t=636
<http://www.svnforum.org/2017/viewtopic.php?t=636&sid=c55523c5f63947e133562a
897615ab43> &sid=c55523c5f63947e133562a897615ab43
and my transfer method was simply a file copy via Cygwin over a Samba
mounted drive from the Sun to the PC.
The files concerned are identical (using 'cmp' to compare the original and
the copy).

 

I replicated the whole problem with two simple text files in a new 1.0.5
repository under Solaris 8

(the first a Unix format one, the second a DOS format one),

then dumped the 1.0.5 repository and tried to load in a new 1.2.3 repository
under Windows Cygwin

and got exactly the same result: a load error on the second file due to a
checksum mismatch.

Thanks in advance,

Regards,

Jan Lambrecht
Ontwikkelaar
Email: <mail-to:j.lambrecht@partezis.be> j.lambrecht@partezis.be

Interleuvenlaan 10
3001 Heverlee
Tel.: 016 39 95 11

image001.jpg
Received on Fri Apr 21 09:45:45 2006

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.