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

Re: Doing an svn ls can change back-end db (when using BDB)?

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-07-13 22:25:18 CEST

On Jul 13, 2007, at 14:22, Srinivas Kotla wrote:

> This is what happened to me today. Our server (linux) was running
> subversion 1.3.2 with BDB 4.3. I installed subversion 1.4.4, BDB
> 4.4.20, apache 2.0.59 (couldn't get 2.2.4 working, a different story).
> I started up the new httpd server on port 8080. I did an "svn ls" on
> our code repository using the new httpd server. Immediately after
> that,
> that repository became inaccessible to svn 1.3.2.
>
> I reproduced it here:
>
> [subversion@sklinux tmp]$ /opt/subversion-1.3.2/bin/svnadmin create
> --fs-type bdb repos132
>
> [subversion@sklinux tmp]$ /opt/subversion-1.3.2/bin/svn mkdir
> file:///tmp/repos132/trunk -m "Creating dir using svn 1.3.2"
>
> Committed revision 1.
>
> [subversion@sklinux tmp]$ /opt/subversion-1.3.2/bin/svn ls
> file:///tmp/repos132 trunk/
>
> [subversion@sklinux tmp]$ /opt/subversion-1.4.4/bin/svn ls
> http://sklinux/svn132 trunk/
>
> [subversion@sklinux tmp]$ /opt/subversion-1.3.2/bin/svn ls
> file:///tmp/repos132 svn: Unable to open an ra_local session to URL
>
> svn: Unable to open repository 'file:///tmp/repos132'
>
> svn: Berkeley DB error for filesystem /tmp/repos132/db while opening
> environment:
>
> DB_VERSION_MISMATCH: Database environment version mismatch
>
> svn: bdb: Program version 4.3 doesn't match environment version

That's to be expected. As soon as you accessed the repository using
Subversion 1.4 with BerkeleyDB 4.4 it upgraded the database tables to
BDB 4.4 format, which you can't access from BDB 4.3 or earlier. If
you would now like to access your repository from BDB 4.3 again, you
will have to svnadmin dump it with Subversion 1.4 / BDB 4.4 and
svnadmin load it using Subversion 1.3 / BDB 4.3.

Note that this problem would not have occurred had you used a
Subversion 1.4 client to talk to a Subversion 1.3 server accessing
the repository, using any of the network protocols (http://, svn://,
etc.). It only occurred in your reproduction recipe because you used
a Subversion 1.4 client to directly access an older repository using
the file:/// protocol. And it occurred for you initially because you
used a Subversion 1.4 server to access the repository.

It actually has nothing to do (AFAIK) with the version of Subversion,
and everything to do with the version of BerkeleyDB. If you want to
switch from a newer to an older version od BDB, you definitely have
to dump and load.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Jul 13 22:24:49 2007

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.