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
[svnad...@hourdcm1 ~]$
________________________________
From: Mark Phippard [[email protected]]
Sent: Monday, August 02, 2010 5:47 PM
To: Justin Georgeson
Cc: [email protected]
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
<[email protected]<mailto:[email protected]>> 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
[svnad...@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.