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

Big in "svn lock" with authz-file?

From: Johannes Holzer <hl-svn_at_arcor.de>
Date: 2006-07-18 16:06:38 CEST


I think I've found a bug. I have not found it in the issue database on

If you run svnserve and restrict the rights for your user to read only,
svn will stop with the message "svn: warning: (null)" and cannot be
terminated. You have to kill (kill -9) the process. That nothing i
expect from such a lovely program like svn...

I've included a test case for Linux in this mail. I have SuSE Linux 10.0
with subversion 1.3.0. I also tried this with subversion 1.3.2 (self
compiled from subversion-1.3.2.tar.bz2). In the end of this mail a added
the output of the test case.

johannes Holzer

This script will send a kill Signal to any running svnserve process and
will remove some files in the current directory.
-> Run the script NOT on a production machine (of cause!)
-> Run the script inside an empty directory. (it will create a
repository and check out a working copy)
-> Look inside before running :-)

Output ($LANG=de_DE.UTF-8) (script follows)

hl@hlpc:/tmp/hl/src/svn/testcase_svn_lock> bash -x ./locktest.sh
+ rm -rf repo wc
+ pkill svnserve
+ svnadmin create repo
+ echo '[general]'
+ echo 'anon-access = write'
+ svnserve -dr .
+ svn co svn://localhost/repo wc
Ausgecheckt, Revision 0.
+ touch wc/file
+ svn add wc/file
A wc/file
+ svn ci wc/file -m 'adding a testfile'
Hinzufügen wc/file
Übertrage Daten .
Revision 1 übertragen.
+ echo '[general]'
+ echo 'anon-access = read'
+ echo 'auth-access = write'
+ echo 'password-db = passwd'
+ echo 'authz-db = authzfile'
+ echo '[users]'
+ echo 'me = me'
+ echo '[/]'
+ echo me=r
+ pkill svnserve
+ usleep 100
+ svnserve -dr .
+ set +x

___ pkill svn ___ (TERM) wont work.
___ pkill -9 svn ___ (KILL) will kill the process

+ svn lock wc/file --username=me --password=me
svn: warnung: (null)

Skript (copy thin into a file named locktest.sh and launch it with "bash

#!/bin/bash -x
# Remove anything i may have left before...
rm -rf repo wc
pkill svnserve

#Create a suitable repository
svnadmin create repo

echo "[general]" > repo/conf/svnserve.conf
echo "anon-access = write" >> repo/conf/svnserve.conf

svnserve -dr .
svn co svn://localhost/repo wc
touch wc/file
svn add wc/file
svn ci wc/file -m "adding a testfile"

echo "[general]" > repo/conf/svnserve.conf
echo "anon-access = read" >> repo/conf/svnserve.conf
echo "auth-access = write" >> repo/conf/svnserve.conf
echo "password-db = passwd" >> repo/conf/svnserve.conf
echo "authz-db = authzfile" >> repo/conf/svnserve.conf

echo "[users]" > repo/conf/passwd
echo "me = me" >> repo/conf/passwd

echo "[/]" > repo/conf/authzfile
echo "me=r" >> repo/conf/authzfile

pkill svnserve
usleep 100
svnserve -dr .

set +x
echo ""
echo ""
echo "___ pkill svn ___ (TERM) wont work."
echo "___ pkill -9 svn ___ (KILL) will kill the process"
echo ""
echo ""
set -x
# This command will fail:
svn lock wc/file --username=me --password=me

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jul 18 16:09:30 2006

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