首页 文章

SVN中的单用户结账

提问于
浏览
5

我想做以下事情:

当一个用户正在从SVN编辑文件时,在第一个用户提交更改之前,没有其他用户可以编辑此文件 . 那就是svn中的文件会有某种写法 .

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

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

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

3 回答

  • 4

    您可以在此类文件上设置属性 svn:needs-lock ,然后检出文件"read only" . 如果要编辑它,则必须使用 svn lock 锁定文件 . 这个工作流程就是针对这种情况 .

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

  • 0

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

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

    • Writelock无效,为什么有人不应该同时处理他的工作副本 . 无论如何,他将需要合并到最新版本 .

相关问题