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

Re: Problems with BDB file access

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2006-01-17 08:14:39 CET

On 1/17/06, si <sshnug.si@gmail.com> wrote:
> > So now, as it seems, the new version of TSVN has problems accessing a
> > BDB repository created with an earlier version. I can't even access a
> > BDB repo with an 1.2.x Subversion client anymore if I create it with
> > TSVN 1.3.0, and vice-versa!
>
> Interesting...we have some old BDB repositories, which are working just
> fine against TortoiseSVN 1.3.0 (I can repo-browse and did a commit with
> no issues), however I just created a BDB repository using TortoiseSVN
> 1.3.0 and when I tried to browse or import (using TortoiseSVN 1.3.0):
>
> "svn://localhost/test/Error * Berkeley DB error for filesystem
> C:/svnroot/repos/test/db while opening 'nodes' table: Invalid argument
> bdb: recovery of prepared but not yet committed transactions is
> incomplete"

That error would be shown in TSVN too, if Subversion wouldn't call
abort() after throwing that error. The abort() call leads to a crash
in a GUI app - I have to find a way to work around that in the next
version.

I think it also depends on the command you're executing
(checkout/update/ls/...) if it works of not. From what I could test,
an 'ls' usually works, but a getreposroot() call won't.

> So I then created a BDB repository using Subversion 1.2.3, and using
> TortoiseSVN 1.3.0 imported and checked out some data and performed
> a commit. This worked exactly as expected.

I did the same with an svn 1.2.1 client, and I couldn't browse the
repo in TSVN 1.3.0. (didn't import anything, just started the
repobrowser on the empty repo).

> So the last test was to download svn-1.3.0-setup.exe (yup, it's ready!)
> and repeat the process (create BDB repos using SVN 1.3.0, import and
> checkout and commit using TortoiseSVN 1.3.0), and this worked as
> expected.
>
> This seems to indicate that Subversion 1.3.0 is ok, instead, the build
> of Subversion 1.3.0 in TortoiseSVN 1.3.0 isn't quite right (although
> most of it does seems ok).

The reason are some changes in the compiler. If you compile the
Subversion client with VS.NET2005, you'll have the same problem.
I now have to find the exact defines/settings to make the new compiler
produce the exact same binaries as it did before. Only that way we can
be sure to stay compatible with the CL client.

> Note: Tests were done using ra_svn repository access method and
> binary release versions of TortoiseSVN (msi) and SVN (setup.exe).

Don't you mean ra_local?

> Finally, would it be worth adding some test targets to the NAnt builds
> to call TortoiseSVN via command line to pick these errors up?
>
> I could add an option to call TortoiseProc instead of svn/svnadmin
> to my own NAnt builds in Subnant (which has test functionality already
> built to do this sort of thing, e.g. create bdb and/or fsfs repository in
> temp area, import files, modify and commit, dump, load, test hooks etc),
> but Subnant is probably not the right tool for this job, and I suspect
> TortoiseSVN and/or TortoiseProc will need modifications to help in the
> test automation (e.g. add switch for fs-type to bypass dialog box).

Most of TSVN's problems are GUI related. So automated tests don't work
that well.
We had some discussions before about automated tests - please search the list.

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Jan 17 08:15:08 2006

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

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