[英]Why does subversion chown/recreate files on checkin?
我有一个个人维基,我在上面做笔记。 Wiki的页面位于Subversion工作副本目录“页面”中,我将其权限设置为www-data:www-data所拥有的664。 我的用户名位于“ www-data”组中,因此我可以手动检入并弄乱页面。
有一阵子,我遇到了一个问题,因为每次运行签入时,文件将归我所有:www-data而不是www-data:www-data,并且我将无法再通过以下方式更改Wiki文件:我的网页界面! 我通过翻转“页面”目录中的setgid位解决了该问题,但是我仍然困惑为什么会首先发生这种情况:
每次我将某项检查到subversion中时,它似乎就像svn删除它并重新创建一样。 为什么? 这种行为是否支持我不知道的某些功能? 有办法改变吗?
谢谢!
设置“粘性”权限位。
find -type d -exec chgrp www-data {} +
find -type d -exec chmod g+s {} +
这将鼓励checkout的文件创建阶段继承目录权限,而不是切换到最后编辑它的人。
编辑 :陶氏+ S == setgid。 此处留给后代和其他读者的信息。
我认为您使用错了。 您可以做的仍然是将所有内容都保留在subversion中,并将本地工作副本与开发所依据的www目录分开。
然后只需使用某些脚本(可能是提交后的钩子)自动为www用户更新www工作副本(如果您不希望www foldeR中的.svn目录,则可以将其导出)。因此。
工作流程为:
这样,您就不必担心权限问题,甚至可以让一个以上的人在网站上进行版本控制的所有好处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.