SVN中的单用户结账

时间:2010-10-25 12:58:55

标签: svn tortoisesvn visualsvn

我想做以下事情:

  

当一个用户正在编辑文件时   SVN,没有其他用户可以编辑此文件   直到第一个用户提交他的   变化。那就是会有一些   svn中的文件类型。

这在SVN中是否可行?怎么做?是否可以为单个文件或目录(而不是整个存储库)设置此项?

为什么这会有用?二进制文件和其他一些文件的冲突无法轻松解决。我想将svn中的excel文件设置为以上述方式写入锁定。

我欢迎指导如何在我使用的VisualSVN或TortoiseSVN中执行此操作。

3 个答案:

答案 0 :(得分:4)

您可以在此类文件上设置属性svn:needs-lock,然后将文件签出为“只读”。如果要编辑它,则必须使用svn lock锁定文件。正是在这种情况下,工作流就在那里。

有关svn:needs-lock的信息,请参阅此处http://svnbook.red-bean.com/en/1.5/svn.ref.properties.html

答案 1 :(得分:2)

“svn lock”命令可防止其他人对文件进行更改。它不能阻止您编辑文件,因为svn一旦签出就无法控制文件本身。您可以在编辑之前通过程序告诉每个人锁定二进制文件,以防止有人进行他们无法提交的编辑。

答案 2 :(得分:0)

  1. 如果某人已经有工作副本,你就不能写这样的书法。你可以把法律锁定。但它只能放在每个文件而不是整个目录中。然后其他用户可能不会提交他们的更改,直到锁定被释放。如果你想为整个目录创建它,那么你应该编写一个钩子脚本。这是在服务器端运行的事件,例如提交事件,.... 您可以在其中加入更多逻辑以禁止结帐。但这不是我们应该如何在svn下工作。并行开发的可能性是svn的关键特性之一。
  2. Writelock无效,为什么有人不应该同时处理他的工作副本。无论如何,他将需要合并到最新版本。