3

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.

4 Answers 4

1

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)

0

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.

0

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.

-1

After several manual backup/restore operations my repository began to give out the same error. I check last revisions in repository root and detect that one of the files in db/revs/ directory placed in db/revprops/ (this files are very different in sizes, so, I quickly notice it)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .