[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

Hi

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

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

P.S.:
PLEASE BE CAREFULL:
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
locktest.sh":

#!/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.