【问题标题】:How to set up SourceGear DiffMerge as the diff/merge tool for Visual Studio?如何将 SourceGear DiffMerge 设置为 Visual Studio 的差异/合并工具?
【发布时间】:2013-07-05 15:04:20
【问题描述】:

我正在使用 TFS 进行源代码控制,但我想使用 SourceGear DiffMerge 来查看文件差异并进行合并。我找到了工具 -> 选项 -> 源代码管理 -> Visual Studio Team Foundation Server -> 配置用户工具对话框,但是设置合并参数非常混乱。这些参数应该是什么?

【问题讨论】:

标签: visual-studio-2012 tfs diffmerge


【解决方案1】:

这些是我使用的 SourceGear 设置:

C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe

比较:

/t1=%6 /t2=%7 %1 %2

合并:

/m /r=%4 /t1=%7 /t2=%8 /t3=%6 /c=%9 %2 %3 %1

【讨论】:

【解决方案2】:

这些是我的设置。不记得我从哪里得到它们,但我在 VS2010、VS2012、VS2013 中使用过它们。

C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe

比较

/title1=%6 /title2=%7 %1 %2

合并

/title1=%6 /title2=%8 /title3=%7 /result=%4 %1 %3 %2

【讨论】:

【解决方案3】:

首先,您需要将默认命令行更改为:

C:\Program Files (x86)\SourceGear\Vault Client\sgdm.exe

我在 SourceGear 支持论坛上找到了 this thread 中的参数,但那里给出的参数不正确,导致自动合并反向执行,即旧代码覆盖新代码。正确的论点是:

/m /t1=%6 /t2=%7 /t3=%8 /c=%9 %1 %3 %2 /r=%4

【讨论】:

  • @RubenBartelink:请注意我的评论。 “他用于 SourceGear DiffMerge 的参数不正确。正确的参数可以在这里找到。”试试看。如果您使用那里列出的参数,自动合并会选择完全错误的代码作为合并结果。
  • 嗯。我正在使用 Colin Bacon 的 asnwer 中的 args,它们似乎有效,但我错觉我使用“通用”博客文章中的那些 6 年没有这种不良影响 - 也许那是因为 arg order/语义在 sgdm 版本之间发生了变化(但似乎不太可能)。将在某个时候分析并报告...
  • 嗯,仍在愉快地使用其他配置 - 没有花时间理解您的观点,因为事情似乎仍然以一种很好的可预测方式工作......
  • @RubenBartelink 做了一个实验,模拟两个不同用户对一个文件的两次非冲突更改,并执行自动合并。尝试使用两组参数,看看合并得到解决的方式有何不同。
  • 啊,抱歉 - 我投了赞成票,“this”指的是你上面的参数
【解决方案4】:

由于某种原因,我使用 %1 %2 进行 DiffMerge 的旧设置停止工作,出现错误“找不到文件 (%1)。找不到文件 (%2)。”

改为:

"C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" $(Base) $(我的)

【讨论】:

    猜你喜欢
    • 2014-10-19
    • 2010-10-23
    • 2017-07-06
    • 2018-03-27
    • 2016-01-23
    • 2023-02-01
    • 2020-07-13
    • 2017-08-28
    相关资源
    最近更新 更多