[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Repository became corrupt on commit

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Wed, 24 Oct 2018 14:08:17 +0000

Alan Spark wrote on Wed, 24 Oct 2018 08:57 +0100:
> Hi Daniel,
>
> I didn't get anywhere with the perl script. /usr/bin is definitely in
> the path and that is where svnlook is, and the SVNLOOK variable was
> already set... anyway I gave up and went for your alternative.
>

Odd. My first assumption is that the subshell on line 39 isn't behaving
as expected. If you run `svnlook tree --full-paths --show-ids -r 719
/path/to/repository /trunk/scripts/script.py`, does print a path and a
node-rev id string (which looks like "a.b.c/d-e")?

> Firstly I must apologise as I stated revision 728 in my original email
> but it looks like this was on one of our experimental copies of the
> repository that we no longer have. I do still have a copy of the
> broken repository at revision 719. With that in mind, I ran this:
>
> grep -a '^type:' /path/to/repository/db/revs/719
> type: file
> type: dir
>
> I also ran on the last working revision:
>
> grep -a '^type:' /path/to/repository/db/revs/718
> type: file
> type: dir
> type: dir
> type: dir
> type: dir
> type: dir
>

These all look correct. I assume that when you do a normal 'verify'
run, revisions 1:718 (inclusive) are verified successfully and 719
errors out, correct? I.e., it prints "Verifying revision 718" and then
"Error verifying revision 719".

There's a slim chance that those "type:" lines had a NUL byte tacked on,
or something else that got lost in the translation to email. You can
rule out this remote possibility by piping the grep to xxd(1) (just
'| xxd', no option flags needed).

Otherwise, could you please confirm that the error you're getting on
r719 is the same one you posted for r728 (except for the revision
number, of course)?

> I note that your path had a /0/ after /revs/ but this appears to be empty.
>

It's normal for that path not to exist, particularly in older repositories. It
shouldn't exist empty, but that's harmless.

> I think I have confirmed that our MPM is prefork:
>
> a2query -M
> prefork
>
> I hope this helps. Let me know if you need me to check anything else.

Yes, it does.

Thanks,

Daniel
Received on 2018-10-24 16:08:35 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.