subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philip Martin <>
Subject Re: svn commit: r1716548 - /subversion/trunk/subversion/tests/libsvn_fs/fs-test.c
Date Thu, 26 Nov 2015 13:46:39 GMT
"Bert Huijben" <> 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

View raw message