I have some corrupt revision files due to a power failure on the server.

Running svnadmin recover gives me:

Repository lock acquired.
Please wait; recovering the repository may take some time...

Recovery completed.
The latest repos revision is 37842.

But running svnadmin verify states that revision 37815 is unreadable. And stops the process there.

When i try to ls -al the revs directory to see if the files of the revs are there i get the following output for the corrupt revisions:

?--------- ? ? ? ? ? /xxx/db/revs/37815 ?--------- ? ? ? ? ? /xxx/db/revs/37816 ?--------- ? ? ? ? ? /xxx/db/revs/37817 ?--------- ? ? ? ? ? /xxx/db/revs/37818 ?--------- ? ? ? ? ? /xxx/db/revs/37819 ?--------- ? ? ? ? ? /xxx/db/revs/37820 ?--------- ? ? ? ? ? /xxx/db/revs/37821 ?--------- ? ? ? ? ? /xxx/db/revs/37822
.
.
.
.
?--------- ? ? ? ? ? /xxx/db/revs/37835

There are 20 rev files in this state (im guessing the corrupt ones)

I tried to hotcopy the repository to another location, run fsck to check for filesystem errors or something, not luck so far.

Trying to check out/commit something on certain parts of the repository gives different errors like: Reference to non-existent node '3r.0.r37835/3961' in filesystem 'xxxxxxxxxxxxxxx' (on the hot copied repo)
Can't open file /db/revs/ Input/output error (on the original repository)

I'm running SVN version 1.4.2 on a Debian, using apache, HTTP as the protocol, DAV, and LDAP authentication.

The backup of the repo is done daily at night, but since this was a mid day failure i don't have backups for this revisions.

Is there a way to delete/fix/ or somehow work around this corrupt revisions?. Also is there a way to detect wich parts of the repo where affected, i can commit new files to some paths of the repo, but i can`checkout, commit on other, the repo is about 130GB so dumping and filtering the revisions
at least today is not an option.

Someone please help with ideas on how to fix this.

Att.

Ivan Fernandez





Reply via email to