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