颠覆:强制用户在提交前更新

Subversion: force users to update before commit

我们如何强制使用 TortoiseSVN 的用户先 "Update" 他们的 b运行ch,然后才能 "Commit"?

我们今天早些时候 运行 讨论了这个问题:

另外:

关于 reasons/ways SVN 的任何想法都会跳过不让用户先更新这一步吗?

我怀疑一旦 Bob 只在 DirectoryB 中进行了更改,然后他从 DirectoryB 级别而不是根级别进行了提交。 这意味着 none 的文件先前由 Joe 修改,其中受到 Bob 提交的影响。 换句话说,Bob 修改的所有文件都是最新的,因此不需要更新。

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

** 稍微长一点解释我所说的从关卡提交的意思,以及为什么这在这种情况下很重要。

所以假设 Joe 从根级别提交

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 注册为已更改。 如您所见,这些更改集没有共同的部分,因此不需要更新。