添加新目录时对.svn目录的默认SVN权限

时间:2011-05-13 03:44:15

标签: svn permissions commit

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

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

是否有任何subversion设置可以自动执行此过程?或者提交后挂钩是唯一的方法吗?

这不是一件紧急事情,所以只是想知道......

提前谢谢。

注意:当然,一种替代方案是每个用户都拥有自己的副本,但对于该特定系统,这是最简单的方法(因为他们不必设置环境两次)。

1 个答案:

答案 0 :(得分:4)

一些简单的想法:

  1. 让cron作业定期清理树上的权限。这就是我过去使用这样的共享文件系统区域所做的事情,尤其是强制执行不是任何一个用户的默认组的特定组名。

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

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

    将导致新文件创建为-rw-rw-r--,新目录创建为drwxrwxr -

  3. 很抱歉,这些都不是特定于svn的,如果我找到设置“svn umask”的方法,我会用编辑回来。

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