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

Re: svnlook dirs-changed creates __db files in fsfs repository

From: Max Bowsher <maxb1_at_ukf.net>
Date: 2006-07-17 11:28:28 CEST

Lieven Govaerts wrote:
> we have installed Subversion 1.3.2 on Suse SLES9 on a test server. Server type
> is apache, version 2.0.54.
>
> In the installed hook scripts we check for the changed dirs using:
> COMMITFILES=`svnlook dirs-changed -t $TXN $REPOS`
>
> This has working fine on our 1.2.3 production server.
>
> With svn 1.3.2 I see that whenever I commit to a fresh FSFS repository, the call
> to svnlook will create some files in the repo/db folder:
>
> -rw-r--r-- 1 svntest svntest 16384 2006-07-17 10:32 __db.001
> -rw-r--r-- 1 svntest svntest 278528 2006-07-17 10:32 __db.002
> -rw-r--r-- 1 svntest svntest 98304 2006-07-17 10:32 __db.003
> -rw-r--r-- 1 svntest svntest 450560 2006-07-17 10:32 __db.004
> -rw-r--r-- 1 svntest svntest 16384 2006-07-17 10:32 __db.005
> -rw-r--r-- 1 svntest svntest 64 2006-07-17 10:32 log.0000000001
>
> I suppose these are BDB files, but since the repo is FSFS I can't understand why
> these files are created. Is this a bug or a problem of building svn?
>
> If I remove the svnlook dirs-changed line no __db files are created. The commit
> works fine in both cases.
>
> Some more info about our installation:
> $ ./configure --prefix=/usr/local/svn/svn --exec-prefix=/usr/local/svn/svn
> --with-apxs=/usr/local/svn/apache/bin/apxs
>
> $ cat db/fs-type
> fsfs
>
> $ cat hooks/pre-commit
> #!/bin/bash
>
> REPOS="$1"
> TXN="$2"
> COMMITFILES=`svnlook dirs-changed -t $TXN $REPOS`
> echo "COMMITFILES: $COMMITFILES" >> /tmp/pre-commit.log
>
> exit 0
>
> $ svn --version
> svn, version 1.3.2 (r19776)
> compiled Jun 20 2006, 14:05:30
> [..]
>
> $ svnlook --version
> svnlook, version 1.3.2 (r19776)
> compiled Jun 20 2006, 14:05:30
> [..]
> The following repository back-end (FS) modules are available:
>
> * fs_base : Module for working with a Berkeley DB repository.
> * fs_fs : Module for working with a plain file (FSFS) repository.

Since hook scripts run with a cleared PATH, it is impossible for the
quoted hook to be invoking /usr/local/svn/svn/bin/svnlook. It appears
it is finding some much older version of svnlook instead, lying
somewhere upon bash's default PATH.

PS: Strictly speaking, this is material for users@ :-)

Max.

Received on Mon Jul 17 11:29:12 2006

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

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