0

From reading the MKS Integrity manual, I see the following:

  • The Merge From is the revision from which blocks are merged.
  • The Merge Base is the revision you want to use as the base for calculating differences against the Merge From to be applied to the Merge To.
  • The Merge To is the working file, and is used as the basis for the Merge Result file.

What I don't quite understand is, what exactly is the "merge base"? If I have a fresh sandbox, I'm assuming I have the latest of everything in there, so, if I were to merge changes from a branch to this sandbox, why does the MKS merge tool show me a third file (the merge base)? Where does this file come from and why would I possibly care about this - I just want the differences between the file in my sandbox (the merge to) and the file on the branch (the merge from)?

I've turned off the display of it in the merge tool, but, someone obviously thought it important enough to show and to write about in the manual, so I'd like a better understanding of what it is and why I might (or might not) care about it.

4

1 回答 1

1

据我了解,这就是合并的全部内容。

因此,由于某种原因,您创建了一个分支来更改代码,以后您希望将其集成(合并)回主干。

创建分支的“分裂点”用作合并基础。然后,MKS 合并工具使用此版本来查找并最终评估相关更改。

如果主干上没有更新版本,则合并基础只是沙箱(主干)中的文件。

但是,如果主干上有更新的版本(意味着您/某人也在主干上开发),那么它不会将主干的头部与分支的选定版本合并,而是查看每个代码行(分支、主干)内的差异) 从那个合并基地。

所有这些也适用于分支/子分支合并。

我必须承认,这(对于初学者来说)确实是一件具有挑战性的事情,如果您之前对同一个文件进行了多次合并,这将变得更加复杂。因为上述情况会发生变化,因此合并基数会计算回最后一次合并。

我希望这能有所帮助。如果不只是评论...

于 2014-07-24T09:29:18.180 回答