【发布时间】:2011-06-27 03:00:20
【问题描述】:
我有一个发布分支 (RB,从 C5 开始) 和 trunk (C10) 上的一个变更集,我现在想合并到 RB 上。
该文件在 C3 处有更改(两者共有),一处在 RB 上的 CS 7 处,一处在 C9(主干)处,一处在 C10 处)。因此,我更改文件的历史记录如下所示:
RB: C5 -> C7
Trunk: C3 -> C9 -> C10
当我将 C10 从主干合并到 RB 时,我希望看到一个合并窗口显示我
C10 | C3 | C7 因为 C3 是共同祖先修订版,而 C10 和 C7 分别是我的两个分支的提示。但是,我的合并工具显示C10 | C9 | C7。
我的合并工具配置为显示 %1(OriginalFile)|%3(BaseFile)|%2(Modified File),因此这告诉我 TFS 选择了 C9 作为基础修订版。
这完全出乎意料,并且与我习惯于在 Mercurial 或 Git 中工作的合并方式完全相反。是我做错了什么还是 TFS 试图通过合并让我发疯?
这是默认的 TFS 合并行为吗?如果是这样,您能否提供他们为何选择以这种方式实施的原因?
我使用 TFS 2008 和 VS2010 作为客户端。
【问题讨论】:
-
如果你使用标准的合并工具会发生什么(所以删除配置的用户工具)?
-
@Ewald Hofman:这是一回事(除了默认的 TFS 合并实用程序是废话),因此它与正在使用的合并工具明确无关。
-
@Ewald:这会让你(或其他任何人)能够回答我的问题吗?
-
@John:TFS 2008。将它与 Visual Studio 2010 一起使用。
标签: tfs merge branching-and-merging