Fancy stuff about my technical life
What this all about is....svn checksum error
posted by cimnine @ 6:09pm, Wednesday 6 January 2010.
I just had this scary problem: "SVN: checksum missmatch"Don't worry, it's easy to fix.
If you use a berkleyDB as filestore, please read here: http://ilovett.com/blog/programming/subversion-checksum-error
If you use FSFS, you'll be fine with me. :)
Important: You do all action on your own risk! The solution below worked for me, it may or may not work for you! You're said now to backup your repositories files NOW!
Good. Now to your problem.
First, make sure you have a good hex editor. hexcurse worked pretty good for me and is available in the debian & ubuntu repositories. (So install it with "apt-get install hexcurse")
First, execute "svnadmin verify /path/to/your/svn/repo".
You should now get messages like "Verified Revision 1, 2, ...". And the last message is a "Checksum mismatch. Expected XXXX. Calculated YYYY." (Something in LIKE that, I'm writing this out of my mind.)
Now you know which revision is the bad one. (svnadmin showed you the last good one, not the corrupt one!).
Now cd to /path/to/your/svn/repo/db/revs. (eg. ~ $ cd /var/svn/repo)
Now cp YOURBADREVISIONNR to YOURBADREVISIONNR.bak . (eg. repo $ cd 178 178.bak)
Now execute hexcurse with YOURBADRESISIONNR (eg. hexcurse 178).
The CTRL+F for XXXX.
Now replace the hexvalues of XXXX with the hexvalues of YYYY.
Save the file.
It should be fine now.
I hoped this worked for you too!
Otherwise, try to email me. You'll find the address on my webpage.
~Chris
Comments
Submit Your Comment
You are not logged in.