gpt4 book ai didi

svn - 颠覆: force users to update before commit

转载 作者:行者123 更新时间:2023-12-02 12:57:22 26 4
gpt4 key购买 nike

我们如何强制使用 TortoiseSVN 的用户在“提交”之前“更新”其分支?

我们今天早些时候遇到了这个问题:

  • Joe 致力于 Branch1,修订版 101
  • Bob 下载 Branch1,然后提交到 Branch1,修订版 102
  • Joe 提交了 Branch1,修订版 103...并且 SVN 从未像通常那样告诉他“您必须先更新才能提交”

另外:

  • Joe 在/svnrepo/ProjectXYZ/branches/Branch1/DirectoryA/工作
  • Bob 在/svnrepo/ProjectXYZ/branches/Branch1/DirectoryB/工作

关于 SVN 会跳过不先让用户更新这一步的原因/方式有什么想法吗?

最佳答案

我怀疑一旦 Bob 仅在 DirectoryB 中进行更改,那么他就会从 DirectoryB 级别(而不是根级别)进行提交。这意味着 Joe 之前没有修改过任何受 Bob 提交影响的文件。换句话说,Bob 修改的所有文件都是最新的,因此不需要更新。

我看到两种可能的解决方案:
1)让每个人从根级别提交 - 即“/svnrepo/ProjectXYZ/branches/Branch1”在这种情况下
2)编写一个svn预提交钩子(Hook)http://svnbook.red-bean.com/en/1.7/svn.ref.reposhooks.pre-commit.html

** 对我所说的从级别提交的含义进行更长一点的解释,以及为什么这在这种情况下很重要。

所以可以说 Joe 从根级别做出了 promise

cd /svnrepo/ProjectXYZ/branches/Branch1
svn commit DirectoryA/Hello.java

那么svn注册为修改的就是Branch1目录、DirectoryA目录和Hello.java文件

然后 Bob 从 DirectoryB 级别提交

cd /svnrepo/ProjectXYZ/branches/Branch1/DirectoryB
svn commit Hello2.java

然后 svn 仅将 DirectoryB 和文件 Hello2.java 注册为已更改。正如您所看到的,这些更改集没有共同部分,因此不需要更新。

关于svn - 颠覆: force users to update before commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42868192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com