【发布时间】:2020-06-22 10:43:18
【问题描述】:
在我正在进行的一个项目中,我们遇到了分支/合并问题。
为简化起见,我们有一个分支 A(由我们的客户拥有)和一个分支 B(由我们拥有),并且我们会定期将 A 与 B 同步,以便在 B 进行的所有新更改都会在客户要求时将其带到 A (当客户证明分支 B 的代码已经过正确测试时,执行工作正常等)。
问题是有时合并以不正确的方式完成,因此 SVN 不知道哪些提交已经合并,哪些没有。从功能上讲,解决冲突的变化和方法是正确的,但 SVN 不知道这一点。因此,如果您尝试合并来自已合并的两个分支的所有修订,则所有先前解决的冲突都会再次出现。如果我在 SVN 日志中指定选项“包括合并的修订”,则某些“合并提交”不会展开以显示此类合并中包含的所有提交。这就是我知道此元数据已丢失的方式。
我认为问题在于,有时有些人请求在本地副本中合并,而冲突是在另一个本地副本中手动解决的,因此在从此类副本提交后,SVN 服务器不会收到当您生成时生成的元数据首先请求合并。
所以你不能只是从 B 到 A 的“同步分支”,因为这种情况是无法维护的。剩下的唯一选择是手动指定要合并的修订范围,但我们不想再这样做了。
那么,我们怎么能对 SVN 说:“嘿,B 的所有更改都已经被合并了,A 中的冲突已经解决了,不管你怎么想”?
注意:我们使用 Tortoise SVN。
【问题讨论】:
-
你应该指定你的SVN客户端和服务器的版本。