svnfsfs

corrupted svn repository with "serialized hash missing terminator" error


I have a local subversion repository. I am trying to convert it to Mercurial. In the process I discovered that repository is corrupted. I have tried the following

  1. svnadmin verify - confirmed that repository is corrupted at revision 1265. The verify stops at this revision.
  2. svnadmin recover - was unable to recover the repository.
  3. I tried to dump the repository content. svnadmin dump fails at revision 1265. So dumped till 1264. Took another dump from revision 1322. (all revision from 1265 to 1321 are giving the serialized hash terminator error).
  4. I tried to combine the dumps and load it into a new repository. However, some files got added in the 'missing' revisions (1265 to 1321) and while loading dump I am getting errors.

I googled for error and advice seems to be dump the repository and reload the contents in new repository. However, that does not work for me.

I tried to find what exactly is the meaning of the error. However, I could not get any information. I tried to read the documentation of FSFS structure (http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure). However, could not find any specifics of 'serialized hash".

Is there any way to correct this error in the repository (manually/programmatically) ?


Solution

  • I could fix this error by writing a small python script to correct the corrupted revision property files. The details are given the blog post the i wrote.

    Adding the link to blogpost here for information and hoping it may help other who face similar errors.

    http://nitinbhide.blogspot.in/2013/09/recovering-from-corrupted-subversion.html