繁体   English   中英

为什么Subversion在签入时会加重/重新创建文件?

[英]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目录,则可以将其导出)。因此。

工作流程为:

  1. 编辑/ home / youruser / yourwiki-working-copy /中的文件
  2. 做svn commit
    • 提交后钩子更新/ var / www /(或Wiki所在的位置)中的文件
  3. 转到1。

这样,您就不必担心权限问题,甚至可以让一个以上的人在网站上进行版本控制的所有好处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM