[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
#* <FOLDER>/<FILE>

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).

solution:
* 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).

solution:
* we correct the checksum in the entries-file:
* example-entry:
 UpdateNumberAction.java
 file
 1517
 2008-08-26T14:35:11.000000Z
 6caa396dcb98e29199a3459e5c7ce4ae '<< this is the 'recoreded'-checksum
 2008-08-26T12:48:28.509677Z

* 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
Finomosec;

__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails.
http://mail.yahoo.com

---------------------------------------------------------------------
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.