我使用 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 文件属性