在Visual Studio 2008中合并时强制比较文件

时间:2010-02-04 18:39:06

标签: visual-studio-2008 tfs merge

目前我右键点击 - >在Visual Studio 2008中合并特定文件时,它会尝试(并且通常会成功)自动将文件合并到指定的目标。

如何强制VS始终允许我在合并工具中手动比较和合并文件?

我应该提一下,我的源代码控制是TFS。

2 个答案:

答案 0 :(得分:0)

这里确实有两个潜在的问题:

  1. 作为合并计算的一部分,服务器确定自上次两者完全同步以来未对目标文件提交任何更改。因此,简单地覆盖目标文件是安全的(无论如何通过TFS语义)。

  2. 两个分支都有历史记录,因此服务器声明文件处于冲突状态。现在由客户决定选择分辨率。

    • 您可以决定按原样保留源或目标。
    • 您可以在配置的工具中选择手动合并。
    • 您可以请求AutoMerge(通过 tf resolve -auto:acceptmerge ,或外部对话框上的Auto Merge All按钮,或内部对话框上的“merge changes for me”单选按钮)
      • 如果AutoMerge失败,除了AutoMerge将显示为灰色外,您将看到相同的选择
  3. 关于情况#1你无能为力。它应该是安全的,除非服务器代码中存在严重的未修补缺陷,历史数据库中的损坏,或者[很可能]您以前的解决方案选择已经大大误导了TFS关于您的真实意图。最糟糕的情况是,你总是有机会建立&在签入任何内容之前,对待挂起的合并运行测试。

    正如你所看到的,情况#2有许多皱纹。目前还不清楚你想要阻止该过程的哪一步,如果有的话。好消息是,一旦控制转移到客户端,您就有了广泛(且易于扩展)的选择范围。唯一棘手的部分是确保你了解每个的后果;诚然,UI和文档都没有完全清楚这一点。根据需要回复您的问题的更多详细信息。

答案 1 :(得分:0)

尝试将命令行与/ conservative标志一起使用。它更有可能允许您在合并工具中合并您的更改。

/保守 - >将一个分支合并到另一个分支时会导致更多冲突。