It doesn't come with the CollabNet precompiled binaries (even the -extras package) so I grabbed a copy from http://svn.apache.org/viewvc/subversion/trunk/contrib/server-side/fsfsverify.py?view=log. I'm on a RH4.6 with python 2.4.4. With no options it exits with
Traceback (most recent call last):
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 1120, in ?
for noderev in strategy:
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
for x in self._nodeWalker():
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 832, in _nodeWalker
noderev = NodeRev(self.f, self.currentRev)
File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 678, in __init__
(rev, offset, length, size, digest) = value.split(' ')
ValueError: too many values to unpack
[svnadmin_at_hourdcm1 ~]$
________________________________
From: Mark Phippard [markphip_at_gmail.com]
Sent: Monday, August 02, 2010 5:47 PM
To: Justin Georgeson
Cc: users_at_subversion.apache.org
Subject: Re: corrupt revision, "Reading one svndiff window read beyond the end of the representation"
Have you tried fsfsverify.py?
Sent from my iPhone
On Aug 2, 2010, at 6:39 PM, Justin Georgeson <JGeorgeson_at_lgc.com<mailto:JGeorgeson_at_lgc.com>> wrote:
I have a repo with >39k revisions. Last week, r39245 was committed, a merge of a single file from trunk to branch. It is the HEAD revision of that file on that branch. Turns out this revision is corrupt
[svnadmin_at_hourdcm3 ~]$ svnadmin verify -r 39245 /repos/prowess
svnadmin: Reading one svndiff window read beyond the end of the representation
I've searched from r30000 to HEAD in this repo and that's the only rev that fails the verify. All our backup copies have the same issue too. I'm wondering what our options for recovery are. Some suggestions we have come up with internally are:
1. Developer still has sandbox which reports the parent folder as updated, so have him 'svn cat' the previous version and commit that, then re-commit the changes from the corrupt revision
2. 'svn rm' the file from the server and re-add it (losing ancestry)
3. Some combination of svndump up to that revision, import to new repo, redo that merge in new repo, overwrite the revision file with new one
4. delete revision file (seems like bad idea)
5. svn dump up to corrupt revision and everything after bad revision, merge dumps, create new repo, redo merge
Is there something else we missed? Which of these seems like the safest/easiest?
________________________________
This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message.
Received on 2010-08-03 02:25:15 CEST