What is the managment overhead of decentrilized version control?

Simon Ekstrand simon at sii.se
Wed Jun 21 15:37:19 BST 2006


On Wed, Jun 21, 2006 at 08:16:59AM -0500, John Arbash Meinel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Simon Ekstrand wrote:
> > On Tue, Jun 20, 2006 at 12:39:52PM +0200, Jan Hudec wrote:
> >> Also IIRC bzr supports sgid repositories, that is if the repository is
> >> sgid, it sets group write permission.
> > 
> > Unless this has been fixed recently, it's broken, atleast for
> > open-ssh(d). Openssh's serverside sftp implementation masks out any
> > suid/sgid bits on chmod operations for regular users. The sftp transport
> > mkdir method does a mode-less mkdir then a chmod, which doesn't work.
> > Including the directory mode with the mkdir call would work fine
> > (tested), but there's a comment in the mkdir method about this breaking
> > with the sftp server used for tests.
> > 
> > This problem bit me when setting up a central branch for shared
> > checkouts.
> > 
> 
> If you already had the sgid bit, then wouldn't it force the creation to
> also have the sgid bit? Or is it the problem that the final chmod
> removes the bit that was already set?

The final chmod removes it.

> I have it working with standard opensshd, so I'm not sure why it isn't
> working for you. But it is definitely something that we want to support.

edna:/# dpkg -l | grep openssh-server
ii  openssh-server                   4.2p1-5 Secure shell server, an rshd replacement

Regular linux/debian/i386, nothing fancy.

> The only times I've found it to fail was when I was using rsync to push
> my branches, which caused the remote end to take on the local
> permissions, rather than the shared remote permissions.

edna:/tmp/bzr# ls -lad sgid/
drwxrwsr-x 4 root bzr 4096 Jun 21 16:01 sgid/


.bzr after a (sftp) push with regular bzr 0.8.2:

edna:/tmp/bzr# ls -la sgid/b/.bzr/
total 28
drwxrwxr-x 5 simius bzr    4096 Jun 21 15:57 .
drwxrwsr-x 3 simius bzr    4096 Jun 21 15:57 ..
-rw-rw-r-- 1 simius simius   82 Jun 21 15:57 README
drwxrwxr-x 3 simius simius 4096 Jun 21 15:57 branch
-rw-rw-r-- 1 simius simius   35 Jun 21 15:57 branch-format
drwxrwxr-x 2 simius simius 4096 Jun 21 15:57 branch-lock
drwxrwxr-x 5 simius simius 4096 Jun 21 15:57 repository


.bzr after a (sftp) push with a modified bzr 0.8.2 (sets the mode with
mkdir instead of doing a subsequent chmod):

edna:/tmp/bzr# ls -la sgid/c/.bzr/
total 28
drwxrwsr-x 5 simius bzr 4096 Jun 21 16:01 .
drwxrwsr-x 3 simius bzr 4096 Jun 21 16:01 ..
-rw-rw-r-- 1 simius bzr   82 Jun 21 16:01 README
drwxrwsr-x 3 simius bzr 4096 Jun 21 16:01 branch
-rw-rw-r-- 1 simius bzr   35 Jun 21 16:01 branch-format
drwxrwsr-x 2 simius bzr 4096 Jun 21 16:01 branch-lock
drwxrwsr-x 5 simius bzr 4096 Jun 21 16:01 repository

Same thing happens when commiting etc. Files end up loosing the original
group.

This also seems relevant:
http://marc.theaimsgroup.com/?l=openssh-bugs&m=114313057719763&w=2

-- 
Simon




More information about the bazaar mailing list