Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have had a problem with out svn repo, it contains everything so is extremely important.

When we ran a dump we would get the error message

svnadmin: E200002: Serialized hash malformed

This is preventing us from performing a dump and moving our content, it also failed on a svn export.

We have found that one of the revisions is corrupt, is there anyway we can fix or repair a repository as we need to move it.

share|improve this question
add comment

3 Answers 3

Do you have backups or mirrors that you can get that revision from?

I actually had that exact error today with a corrupted revision 0 on one of my mirrors that I was able to fix by copying the revprops (the corrupted file) from another mirror. It went successfully and I had no issues afterward.

This might not be a recommended method for doing this so user beware. Backups backups backups.

share|improve this answer
add comment

We have managed to fix this by doing a svn dump either side of the corrupted revision then merging the two files together using cat or type depending on what platform you are using then importing this into a new repository.

After doing this i performed a verify and it completed to the end, also all history revision is now visable when before it couldnt get past the corrupted revision file.

share|improve this answer
add comment

This worked for me. I have just repaired corrupted file db/revprops/19. 19 here is the version of the corrupted commit. You can see which commit is corrupted by doing svn log.

This file should look like this:

K 10
svn:author
V 5
roman
K 8
svn:date
V 27
2010-06-05T16:53:51.953072Z
K 7
svn:log
V 0

END

I had to change this

K 6
svn:loo

to this:

K 7
svn:log

(7 here shows the length of the next line)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.