如何将SourceGear DiffMerge设置为Visual Studio的差异/合并工具?

11

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

输入图像描述


可能是重复的问题:如何配置TFS以使用各种合并工具? - James Reed
4个回答

10

这些是我使用的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

我曾经点赞了这个,但后悔了,因为Colin Bacon的顺序更直观,符合https://dev59.com/IXM_5IYBdhLWcg3wlETO#1313961中建立的标准模式。 - Ruben Bartelink

5

这是我的设置。我记不得从哪里得到它们了,但我已经在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


我的猜测是,您可能从此MSDN博客中得到了它们。 - oatsoda

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

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

我在 SourceGear 支持论坛的这个帖子中找到了参数,但是那里给出的参数是不正确的,并且结果会导致自动合并被执行反向操作,即旧代码覆盖新代码。正确的参数是:

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


@RubenBartelink:请注意我的评论。“他使用的SourceGear DiffMerge参数不正确。正确的参数可以在这里找到。”试一下。如果您使用那里列出的参数,自动合并将选择完全错误的代码作为合并结果。 - Shaul Behr
嗯。我正在使用Colin Bacon的答案中的args,它们似乎有效,但我一直以为我使用了“通用”博客文章中的args已经有6年了,而且没有出现任何不良影响 - 也许这是因为arg顺序/语义在sgdm版本之间发生了变化(虽然这似乎不太可能)。将在某个时候进行分析并报告... - Ruben Bartelink
@RubenBartelink 进行模拟实验,让两个不冲突的用户对同一文件进行更改,并执行自动合并。尝试使用两组参数,并查看合并如何得到不同的解决方案。 - Shaul Behr
我现在正在使用它,它正在按照我的意愿运行。感谢你的推动! - Ruben Bartelink
1
啊,抱歉 - 我已经点赞了,“this”指的是您上面的参数。 - Ruben Bartelink
显示剩余5条评论

2

由于某些原因,我旧的DiffMerge设置 %1 %2 不再起作用,出现错误“文件未找到(%1)。文件未找到(%2)。”

更改为:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接