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

[1.2.0, FSFS] db/locks subdirs not inheriting g+s bit?

From: Jim Lawton <jim.lawton_at_gmail.com>
Date: 2005-07-08 11:04:01 CEST

Hi,

Apologies in advance for this but I've searched the manual, faq,
Google and browsed the sources and still can't figure out what I'm
doing wrong.

I'm running SVN 1.2.0 on a Linux box (RH7.3, 2.4.20 kernel), with the
repos stored on an NFS filer. Access to the repos is via svn+ssh:// or
file://. My umask is 022.

Everything works fine until I started to use the lock command. When
I try to lock a file, the svn lock command fails, because the g+s bit is
not set on a subdirectory it has just created in db/locks. The repos
itself, repos/db and repos/db/locks all have g+s. Commits continue
to work to other files.

The main reason that the lock command is failing is because our
admins have implemented disk quotas and so if the g+s bit is not
set on a directory, any files I try to create in it do not inherit the
correct quota. The underlying reason seems to be that the db/locks
subdirs do not inherit the g+s bit correctly.

I've appended a recipe below which demonstrates the problem. If I
run this on a Linux 2.4 machine, subdirectories of db/locks are created
without the g+s bit. If I run it on a 2.6 machine, it works fine.

Any ideas would be appreciated.
/regards/jim

#########################################################
#!/bin/sh
rm -rf wc repos
REPOS=$(pwd)/repos
echo "Create repos at ${REPOS}"
svnadmin create ${REPOS}
echo "Check out repos"
svn co file://${REPOS} wc
cd wc
touch file.txt
ls -l file.txt
svn add file.txt
svn ps svn:needs-lock '' file.txt
echo "Check in file"
svn ci -m ''
ls -l file.txt
echo "Before lock, db dir:"
ls -al ${REPOS}/db
echo "Lock file"
svn lock file.txt
echo "After lock, db dir:"
ls -al ${REPOS}/db
echo "After lock, locks dir:"
ls -al ${REPOS}/db/locks # 2.4: g-s; 2.6: g+s
echo "Unlock file"
svn unlock file.txt
echo "After unlock, db dir:"
ls -al ${REPOS}/db
echo "After unlock, locks dir:"
ls -al ${REPOS}/db/locks
echo "Check in file"
svn ci -m '' file.txt
ls -l file.txt
#########################################################

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Jul 8 11:07:21 2005

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