我怀疑,一旦Bob只在DirectoryB中进行了更改,他就从DirectoryB级别进行了提交,而不是从根级进行提交。 这意味着,以前由Joe修改的文件都不受Bob的提交影响。 换句话说,所有由Bob修改的文件都是最新的,所以不需要更新。
我看到2个可能的解决方案:
1)让每个人都从根级别提交 - 即 “/ svnrepo/ProjectXYZ /分支机构/分支1” 在这种情况下
2)写一个SVN pre-commit钩子http://svnbook.red-bean.com/en/1.7/svn.ref.reposhooks.pre-commit.html
**对于我所说的从关卡中提交的意思有点长解释,为什么在这种情况下这很重要。
因此,可以说是从乔根级别
cd /svnrepo/ProjectXYZ/branches/Branch1
svn commit DirectoryA/Hello.java
然后COMMITED改性被Branch1的目录,目录DirectoryA和Hello.java文件
然后鲍勃DirectoryB水平COMMITED什么SVN注册
cd /svnrepo/ProjectXYZ/branches/Branch1/DirectoryB
svn commit Hello2.java
然后svn只注册DirectoryB和文件Hello2.java被更改。 正如你所看到的,这些改变没有共同部分,所以不需要更新。
我从来没有见过Subversion有这样的行为 - 它**总是**提示更新过时的工作副本。这里有一些你可以忽略的工作流程。或者,也许你的用户正在对不同的子目录进行修改,在提交之前并不总是需要'update'。 – alroc
我更新了这个问题,以包括Joe和Bob在不同的目录中工作的事实 – SED