每次 svn 更新后都需要 chmod/chown

每次 svn 更新后都需要 chmod/chown

我使用 CentOS 5.5 和 SVN 1.4.2

我使用服务器上的工作副本作为我的 Web 应用程序,这样我就可以轻松部署新代码。但真正让我烦恼的是,每次执行svn up(或svn update) 时,我都必须重置文件权限。

我该如何解决这个问题?我其实不喜欢创建 svn post-commit-hook。有没有办法告诉 CentOS,某些文件中新添加/更改的文件应始终具有某些权限?

答案1

您是否尝试过使用文件 acl (facl)?您可以为文件夹中的新文件设置默认权限。

#设置文件的acl:
setfacl -mu:用户:rwx filex
#为目录中的新文件设置默认 acl
setfacl -dm u:usuario:rmx 目录

使用 -R 选项进行递归 setfacl。

答案2

我能够做到这一点的唯一方法是通过提交后挂钩。以下是我使用的:

http://code.getbunch.com/svn-hooks-for-staging-servers/

基本上,您需要将它们安装在您的仓库的 hooks/ 目录中。将以下内容添加到您的提交后(第 27 行之后)以进行更改:

# Make sure ownership and permissions are correct is correct
chown myuser.mygroup -R $DIR_TO_TEST_VHOST
chmod 777 -R $DIR_TO_TEST_VHOST

希望有所帮助。

答案3

svn propset svn:executable ON filename.php

或使用 CornerStone 文件属性

相关内容