防止其他用户访问文件SVN Get Lock

时间:2014-02-14 04:30:19

标签: svn locking tortoisesvn visualsvn-server

我习惯使用VSS,但已切换到SVN-使用VisualSVN作为服务器,使用tortoiseSVN作为客户端。

我想要的是当一些用户想要编辑文件时,他应该做getlock。之后,该文件不应该对其他用户可编辑。这就是VSS用来工作的方式。

我知道这样做可能会破坏让不同用户在同一个文件上工作并稍后合并它们的目的,但我仍然需要这样做。

我相信SVN还提供了get lock命令的钩子,所以我们可以在那里插入一个可以发送电子邮件的脚本,但是我想让其他用户在执行getlock时通过svn getlock窗口自行通知某个用户锁定的文件。

如果在visual studio中可以实现同样的效果,那对我来说是最好的。任何支持visualsvn的免费插件都可以使用。

有关如何实现这一目标的任何想法? 感谢

2 个答案:

答案 0 :(得分:0)

SVN的锁定 - 解锁模型is possible工作流程,但不推荐:

  • 它不可靠(锁可能被打破或被盗)
  • 时间浪费

推荐用于并行工作的编辑更新或分支合并模型,可以手工合并工件

在技术上不可能合并的情况下,使用普通的人类人工通信协议顺序工作(参见SVN图书中图形设计师的样本)

答案 1 :(得分:0)

就我使用Tortoise-SVN而言,只要文件被其他用户锁定,当你试图“锁定”时,Tortoise就会发出警告。在这种情况下,可以选择“窃取锁”。

因此,必须明确地执行get lock以了解文件是否被锁定。要使这个强制性可以使用subversion属性“svn:needs-lock”,这将使所有文件成为只读,并且只有在获取锁定后才能编辑。因此,如果文件被用户锁定,则这是其他用户知道的时间。否则无法通知该用户。

此处提供了更多信息: - http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html