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

Checksum error mystery resolved

From: Frederic Leitenberger <fredleitenb_at_yahoo.de>
Date: Tue, 26 Aug 2008 16:21:16 +0000 (GMT)

I just had this annoying checksum-error again:

svn: Checksum mismatch for '/<PATH>/.svn/text-base/<FILENAME>.svn-base';
  expected: '39c3d99f736dd0567c51e710e4eee28f',
  actual: '83a1c85c2cf0ad3962a54a8b3a7f73e9'

And this seccond one to be precise:

svn: Checksum mismatch for '/<PATH>/.svn/text-base/<FILENAME>.svn-base';
  recorded: '83a1c85c2cf0ad3962a54a8b3a7f73e9',
  actual: '39c3d99f736dd0567c51e710e4eee28f'

==== Background ====
The SVN stores 3 cpoies of a file:
# the first one on the SVN server
# the version from the server as a local copy:
#* <FOLDER>/.svn/text-base/<FILE>.svn-base
# and finally the working-copy

Then SVN has a checksum for every file:
# the checksum of the server-file
# the checksum of the local server-copy:
#* stored in <FOLDER>''/.svn/entries (file)
# the checksum of the working-copy:
#* this one is not stored anywhere, it is computed on demand

==== cause ====
I had this error while doing the following:
* I Was committing 10 files
* I canceled it, because i forgot something (when it was almost done

* It seems like i canceled it, after the actual commit was done while svn was receiving the new files.
* And this part obviously is not transaction save !!!

==== solution error 1 ====
* with '''expected''' and '''actual''':
* The server checksum does not match the local server-copy-file checksum (text-base).

* We get the correct file from the server and replace the wrong one in the text-base directory.
** you get one version of the file after the other till you find the correct checksum (starting with the newest)
** with the tool "md5sum" it is possible to calculate the checksum, to find out if it is the right one
** then we copy (with cp -f) the correct file (with the correct 'expected'-checksum) here:
*** <FOLDER>/.svn/text-base/''<FILE>''.svn-base
* then we synchronize again and this checksum error is solved

==== solution error 2 ====
* With '''recorded''' and '''actual''':
* the checksum in the entries file does not match the checksum of the local server-copy (text-base).

* we correct the checksum in the entries-file:
* example-entry:
 6caa396dcb98e29199a3459e5c7ce4ae '<< this is the 'recoreded'-checksum

* so we edit the entries-file with vi
** if you have an editor that does not remove control-chars you can use this one as well
** background: we don't use another editor, because the file contains control-characters that can be lost
* we replace the 'recorded'-checksum with the 'actual'-checksum and save the file
* then we synchronize again and this checksum error is solved

Greetings and have fun

Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails.

To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-08-27 05:14:28 CEST

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.