【问题标题】:Single user checkout in SVNSVN中的单用户结帐
【发布时间】:2010-10-25 21:07:14
【问题描述】:

我想做以下事情:

当一个用户从 SVN,没有其他用户可以编辑这个文件 直到第一个用户提交他的 变化。那就是会有一些 svn中文件的一种写锁。

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

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

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

【问题讨论】:

    标签: svn tortoisesvn visualsvn


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

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

        【讨论】:

          猜你喜欢
          • 2023-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多