首页 > 解决方案 > 告诉 svn (tortoise) 某个分支已经被合并

问题描述

在我正在处理的一个项目中,我们遇到了分支/合并问题。

为简化起见,我们有一个分支 A(由我们的客户拥有)和一个分支 B(由我们拥有),并且我们定期将 A 与 B 同步,因此当客户这么说时(当客户证明分支 B 处的代码已经过正确测试,执行正常等)。

问题是有时合并是以不正确的方式完成的,所以 SVN 不知道哪些提交已经被合并,哪些没有。从功能上讲,解决冲突的变化和方法是正确的,但 SVN 不知道这一点。因此,如果您尝试合并来自已合并的两个分支的所有修订,则所有先前解决的冲突都会再次出现。如果我在 SVN 日志中指定选项“包括合并的修订”,则某些“合并提交”不会展开以显示此类合并中包含的所有提交。这就是我知道此元数据已丢失的方式。

我认为问题在于,有时有些人请求在本地副本中合并,而冲突是在另一个本地副本中手动解决的,因此在从此类副本提交后,SVN 服务器不会收到您请求合并时生成的元数据首先。

所以你不能只是从 B 到 A 的“同步分支”,因为这种情况是不可维护的。剩下的唯一选择是手动指定要合并的修订范围,但我们不想再这样做了。

那么,我们怎么能对 SVN 说,“嘿,B 的所有更改都已经被合并了,A 中的冲突已经解决了,不管你怎么想”?

注意:我们使用 Tortoise SVN。

标签: svnmerge

解决方案


在合并向导的第三页中有一个复选框“仅记录合并(阻止修订被合并)”。核实。结果就是只写对svn:mergeinfo属性的修订。


推荐阅读