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

Re: svn commit: r1716548 - /subversion/trunk/subversion/tests/libsvn_fs/fs-test.c

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 26 Nov 2015 13:46:39 +0000

"Bert Huijben" <bert_at_qqmail.nl> writes:

> It looks like BDB stores a 'base node-revision-id' in the transaction
> instead of the actual base revision passed.

Yes, and there is a difference between how BDB and FSFS allocate
node-revision-ids. Create a repository with an empty revision that can
be used to produce an empty dumpfile:

svnadmin create empty
svnmucc -mm propdel p file://`pwd`/empty

Load the empty dumpfile into FSFS and BDB:

svnadmin create fsfs
svnadmin dump empty | svnadmin load fsfs
svnadmin create bdb --fs-type bdb
svnadmin dump empty | svnadmin load bdb

Look at the different node behaviour, for FSFS the empty revision
creates a new node-revision-id:

$ svnlook tree --show-ids -r0 fsfs
/ <0.0.r0/2>
$ svnlook tree --show-ids -r1 fsfs
/ <0.0.r1/2>

but for BDB the node-revision-id is unchanged:

$ svnlook tree --show-ids -r0 bdb
/ <0.0.0>
$ svnlook tree --show-ids -r1 bdb
/ <0.0.0>

This only happens for some no-op editor drives, the propdel used to
create the first empty revision does not cause this effect.

I suppose one way to fix this would be to ensure that every BDB revision
generates a new node-revision-id.

Philip Martin
Received on 2015-11-26 14:46:53 CET

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