Visual Studio/TFS如何计算合并中的基文件



在visualstudio中合并文件时,我使用三向合并工具。在visual studio选项的Source Control>Visual Studio Team Foundation Server>Configure User Tools下,我可以选择在中添加一个Base file(%3)作为要传递到合并工具的参数。

Visual Studio/TFS如何计算出基本文件是什么?

如果我将文件X从分支A合并到分支B,我的想法是否正确:

  • modified file是我正在从分支A合并的变更集中的文件X
  • original file是上一个变更集中的文件X,其中文件X在分支B中进行了更改
  • base file是来自最新变更集的文件X,其中文件X在我正在合并的变更集之前已签入

这个逻辑正确吗?

"基本文件"通常被称为"共同祖先"。这是两个分支中最近存在的文件X的版本。

当您第一次创建某个分支时,假设$/A$/B作为变更集10,则文件X尚未在任何一个分支中修改。在这种情况下,公共祖先等于分支$/A$/B中的两个版本。

如果您将$/A/x更改为变更集11,将$/B/x更改为变更集中12,那么您的共同祖先将保留为变更集10。这将允许您确定每个分支是如何独立于基础进行更改的。

现在,当您作为变更集13执行从$/B$/A的合并时,您认为x已被合并,并且公共祖先重置。随后的合并操作将变更集13作为新的基础,从而只有在两个分支中进行的后续更改才会被合并。

最新更新