我怎样才能让Subversion尊重SGID位?

在Ubuntu服务器上,我有一个包含Subversion版本化文件的目录。 我已经使用chgrp bb *来设置组所有者。

我还用chmod g+s mydir设置了目录的SGID位,以便用这个组创build新的文件:

 drwsr-sr-x 4 mat bb 4096 Dec 4 21:37 mydir 

这工作正常,如果我用touch test-touch创build一个新的文件

 -rw-r--r-- 1 mat bb 0 Dec 4 21:43 test-touch 

svn update不具有相同的效果:

 -rw-r--r-- 1 mat mat 3006 Dec 4 21:44 test-svn 

我怎样才能让Subversion尊重SGID位?

通过对SVN邮件列表的讨论 ,除了具有特殊SVN属性的可执行位之外,不可能在SVN中保留文件的权限位。

根据使用Subversion的版本控制 ,解决scheme是确保访问存储库的svn或svnserve的实例正在使用umask 002运行,请参阅此 。

我以前在RHEL4机器上有颠覆同样的问题。 在将存储库迁移到RHEL5机器(从而转移到另一个版本的Subversion)之后,问题就消失了。

Subversion可执行文件是以用户bb还是mat的forms运行? 为了找出问题,请检查svnserve二进制文件的权限(在我的系统上是/usr/bin/svnserve 。同时检查它所属的组。