为什么在登记时会出现subversion chown / create文件?

时间:2008-10-03 19:12:46

标签: svn permissions

我有一个个人维基,我记笔记。维基的页面位于颠覆工作副本目录“pages”中,我将其权限设置为664,由www-data:www-data拥有。我的用户名在“www-data”组中,因此我可以手动签入并弄乱页面。

有一段时间,我遇到了一个问题,因为每次运行签到时,文件都归我所有:www-data而不是www-data:www-data,我将无法再更改维基文件通过我的网络界面!我通过翻转“pages”目录中的setgid位解决了这个问题,但我仍然对于为什么会发生这种情况感到困惑:

每当我检查一下subversion时,似乎svn删除它并重新创建它。为什么?这种行为是否支持一些我不知道的功能?有没有办法改变它?

谢谢!

2 个答案:

答案 0 :(得分:3)

设置“粘性”权限位。

find -type d -exec chgrp www-data {} + 
find -type d -exec chmod g+s {} + 

这将鼓励checkout的文件创建阶段继承目录权限,而不是切换到最后编辑它的人。

修改:dow + s == setgid。留给后人和其他读者的信息。

答案 1 :(得分:2)

我认为你错了。您可以做的仍然是在subversion中拥有所有内容,并将您的本地工作副本与您开发的www目录分开。

然后通过某些脚本(可能作为post-commit挂钩为www-user自动更新www工作副本(或在www foldeR中不需要.svn目录时导出)然后相应地设置权限。

工作流程将是:

  1. 编辑/ home / youruser / yourwiki-working-copy /
  2. 中的文件
  3. 做svn提交
    • post-commit hook更新/ var / www /中的文件(或wiki所在的位置)
  4. 转到1。
  5. 这样,您不必担心权限,甚至可以让多个人在网站上工作,并享有版本控制的所有好处。