gpt4 book ai didi

visual-studio-2012 - 对 VS 2012 合并工具的命令行访问

转载 作者:行者123 更新时间:2023-12-04 18:09:45 25 4
gpt4 key购买 nike

我正在研究在 Windows 7 上使用 TFS 2012 作为 Matlab 的源代码控制提供程序。这需要安装 VS 2012 shell/TFS 客户端和 64 位 MSSCCI 提供程序,可从 Microsoft 免费下载。我已经设置了所有这些并且它工作正常。

但是,文件差异和合并存在问题。如果我查看与 VS 2012 Source Control Explorer 的差异,则 VS 2012 Diff 工具运行正常。如果我在 Matlab 中尝试相同的操作(使用源代码管理菜单),我会收到错误消息“无法执行配置的工具”。解决冲突时,“合并工具中的合并更改”按钮也会发生同样的事情:在 VS 2012 中它可以工作,而在 Matlab 中则不能。

看来这是一个已知问题,至少对于尝试驱动 TFS 的其他工具而言是这样。有一种变通方法,即配置 VS 2012 以使用外部差分实用程序。我试过了,它奏效了。此外,我发现如果您将外部差分实用程序配置为 VS 2012 自己的“内部”差异工具,则将从 Matlab 正确调用内部工具。

差异命令是:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

所需的参数是:
 /Diff %1 %2 %6 %7

(即原始文件、修改文件、原始文件标签、修改文件标签)。有关于此的文档 here .

合并工具问题更多。我在它的命令行上找不到任何特定的文档。到目前为止我最接近的是
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe

我很确定这是对的,但我使用的论点
%1 %2 %1 %2 %3 %4 /m

不太正确 - 文件标签不同,差异显示的格式不同(来自正常的内置工具)。我从一些与 git 相关的文档中对这个命令行进行了逆向工程 here但我对 git 一无所知,也不会说意大利语。有人能帮我找到正确的命令行选项吗?

编辑添加

有一个 MSDN 讨论似乎与这个问题有关 here .看起来它发生在其他工具上并且不限于 Matlab:我已经相应地重新标记了这个问题

编辑添加

Diff 功能的首选命令行是:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe

命令行参数是:
/t %1 %2 %6 %7

合并功能的等效项不起作用:这是一个内部错误,Microsoft 已承认这一点。

最佳答案

vsDiffMerge.exe 工具似乎适用于差异化和三向合并。我成功地将 VS diff/merge 工具与 Perforce 客户端集成以进行合并和集成。

提供给该工具的参数(至少对于 Perforce)是:

差异

vsDiffMerge.exe /t %1 %2

在哪里:
  • /t(在临时选项卡中打开,离开以在永久选项卡中打开)
  • %1(第一个文件)
  • %2(第二个文件)


  • 合并:
    vsDiffMerge.exe /m %1 %2 %b %r

    在哪里:
  • /m(合并操作,停止做一个差异)
  • %1(他们的/源文件)
  • %2(您的/目标文件)
  • %b(基础文件)
  • %r(结果文件)


  • 注意:“%”解释来自 Perfore 文档: http://www.perforce.com/perforce/doc.current/manuals/p4v/Configuring_display_preferences.html#Diff

    编辑:对不起大家,我不确定我是如何混合的。根据我今天的测试,Mark Sowul 是完全正确的。我已经确定了我的答案。此外,对于在第一条评论发布后没有立即纠正这一点表示歉意。我刚从海外旅行回来。

    关于visual-studio-2012 - 对 VS 2012 合并工具的命令行访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17212737/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com