2011-05-13 123 views
2

我有一个Linux测试服务器,其中有时系统的代码正在由user1或user2更新。两者都包含在“用户”组中。 对于通常的修改,没有问题,因为所有文件都具有g + w权限。添加新目录时在.svn目录上的默认SVN权限

但是,如果user1添加一个新目录(使用svn add),则必须手动设置g + w权限,否则user2将会遇到该目录的问题(默认情况下,subversion会创建带有755权限的.svn目录) 。

是否有任何颠覆设置自动进行此过程?或者提交后挂钩是唯一的方法?

这不是一个紧迫的问题,所以只是想知道...

预先感谢您。

注意:当然有一种选择是让这些用户拥有自己的副本,但是对于特定的系统来说,这是最简单的方法(因为他们不需要设置环境两次)。

回答

4

一对夫妇的快速思路:

  1. 有一个cron作业,定期清理树上的权限。这是我过去在共享文件系统领域所做的工作,特别是对于任何一个用户来说,强制执行一个不是默认组的特定组名。

  2. 设置每个用户的umask(即在.bashrc中),以便新创建的文件可以分组写入。即:

    umask u=rwx,g=rwx,o=r 
    

    将导致作为为drwxrwxr--

遗憾的是这些都不是svn的特定创建-RW-RW-R--,新目录中创建新的文件,如果我找到一种设置“svn umask”的方法,我会检查一下编辑。

SVN book建议用首先设置umask的wrapper shell脚本替换svn二进制文件,然后运行实际的svn命令。

+0

谢谢!我想就是这样!关于um​​ask的好主意......我记得我曾经读过一次......但从来没有用过它。如果他们指出包装外壳,我认为这是因为没有简单的方法......我认为这将是有用的。 – lepe 2011-05-13 04:24:58