告诉svn(乌龟)某个分支已经被合并
Telling svn (tortoise) that a certain branch has already been merged
在我正在进行的项目中,我们遇到了 branching/merging 的问题。
为简化起见,我们有一个分支 A(由我们的客户拥有)和一个分支 B(由我们拥有),我们会定期将 A 与 B 同步,以便在 B 所做的所有新更改在客户时带到 A是这样说的(当客户证明分支 B 的代码已经过正确测试、执行正常等时)。
问题是有时合并是以错误的方式完成的,所以 SVN 不知道哪些提交已经合并,哪些没有。变化和解决冲突的方式是正确的,功能上讲,但SVN不知道。因此,如果您尝试合并来自两个已合并分支的所有修订,所有先前解决的冲突都会再次出现。如果我在 SVN 日志中指定选项 "include merged revisions",某些 "merging commits" 不会展开以显示此类合并中包含的所有提交。这就是我知道此元数据已丢失的方式。
我认为问题是有时有些人在本地副本中请求合并,而冲突是在另一个本地副本中手动解决的,因此从此类副本提交后,SVN 服务器不会收到生成的元数据当您首先请求合并时。
所以你不能 "synchronize branches" 从 B 到 A,因为这种情况是无法维护的。剩下的唯一选择是手动指定要合并的修订范围,但我们不想再这样做了。
那么,我们如何对 SVN 说,"hey, all of the changes from B have already been merged, and the conflicts have been solved in A, despite what you think"?
注意:我们使用 Tortoise SVN。
在合并向导的第三页中有一个复选框 "Only record the merge (block revisions from getting merged)"。核实。结果将是只对 svn:mergeinfo
属性.
进行修改
在我正在进行的项目中,我们遇到了 branching/merging 的问题。
为简化起见,我们有一个分支 A(由我们的客户拥有)和一个分支 B(由我们拥有),我们会定期将 A 与 B 同步,以便在 B 所做的所有新更改在客户时带到 A是这样说的(当客户证明分支 B 的代码已经过正确测试、执行正常等时)。
问题是有时合并是以错误的方式完成的,所以 SVN 不知道哪些提交已经合并,哪些没有。变化和解决冲突的方式是正确的,功能上讲,但SVN不知道。因此,如果您尝试合并来自两个已合并分支的所有修订,所有先前解决的冲突都会再次出现。如果我在 SVN 日志中指定选项 "include merged revisions",某些 "merging commits" 不会展开以显示此类合并中包含的所有提交。这就是我知道此元数据已丢失的方式。
我认为问题是有时有些人在本地副本中请求合并,而冲突是在另一个本地副本中手动解决的,因此从此类副本提交后,SVN 服务器不会收到生成的元数据当您首先请求合并时。
所以你不能 "synchronize branches" 从 B 到 A,因为这种情况是无法维护的。剩下的唯一选择是手动指定要合并的修订范围,但我们不想再这样做了。
那么,我们如何对 SVN 说,"hey, all of the changes from B have already been merged, and the conflicts have been solved in A, despite what you think"?
注意:我们使用 Tortoise SVN。
在合并向导的第三页中有一个复选框 "Only record the merge (block revisions from getting merged)"。核实。结果将是只对 svn:mergeinfo
属性.