防止其他用户访问 SVN 获取锁定文件



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

我想要的是当某个用户想要编辑文件时,他应该做 getlock。之后,该文件不应可供其他用户编辑。这是 VSS 过去的工作方式。

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

我相信 SVN 还提供了用于获取锁定命令的钩子,因此我们可以在那里插入一个将发送电子邮件的脚本,但我希望让其他用户在对被某些用户锁定的文件执行 getlock 时通过 svn getlock 窗口本身通知,而不是电子邮件。

如果在Visual Studio中也能实现同样的效果,那对我来说是最好的。任何支持 visualsvn 的免费插件都应该可以工作。

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

SVN的锁定解锁模型是可能的工作流程,但不建议使用:

  • 它不可靠(锁可能会损坏或被盗)
  • 这是浪费时间

建议将编辑-更新或分支-合并模型用于并行工作,当工作片段可以手动合并时

使用

普通的human2human通信同意操作序列的顺序工作,当技术上无法合并时(参见SVN书中的示例aroung Graphic的设计师)

就我使用Tortoise-SVN和锁定而言,每当文件被其他用户锁定时,当您尝试"锁定"时,Tortoise都会警告您。在这种情况下,可以选择"窃取锁"。

因此,必须显式执行 get 锁定才能知道文件是否被锁定。要做到这一点,可以使用 Subversion 属性 "svn:needs-lock",它将使所有文件成为只读文件,并且只能在获取锁后进行编辑。因此,如果文件被用户锁定,则这是其他用户知道的时间。否则无法通知该用户。

更多信息可在此处获得:- http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

最新更新