[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: Alan Spark <alansparkstar_at_gmail.com>
Date: Wed, 24 Oct 2018 08:57:50 +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.

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

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

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.

Regards,
Alan
On Tue, Oct 23, 2018 at 3:54 PM Daniel Shahaf <d.s_at_daniel.shahaf.name> wrote:
>
> Daniel Shahaf wrote on Tue, 23 Oct 2018 14:50 +0000:
> > Alan Spark wrote on Tue, 23 Oct 2018 14:41 +0100:
> > > perl dump-noderev.pl /path/to/repository /trunk/scripts/script.py 728
> > > Use of uninitialized value $noderev_id in split at dump-noderev.pl line 41.
> >
> > Sorry about that; the script is obviously missing an error check.
> >
> > Looks like 'svnlook' does not exist in your $PATH.
> >
> > It's not obvious to non Perl speakers, but line 6 does the
> > equivalent of:
> > .
> > if [ -z "$SVNLOOK" ]; then SVNLOOK=svnlook ; fi
> > .
> > so if you run the script with svn/svnadmin/svnlook in PATH, _or_ with
> > $SVN, $SVNADMIN, $SVNLOOK set to those executables' full paths, then it
> > should work.
>
> The above is the preferred way forward, but if you hit roadblocks with
> that, there _is_ a crude alternative:
>
> % grep -a '^type:' /path/to/repository/db/revs/0/728
>
> This will extract only one field from the rfc822-formatted node-rev
> header. It's a poor substitute to the Perl script, but better than nothing.
>
> Cheers,
>
> Daniel
Received on 2018-10-24 09:58:09 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.