安装后如何将WinMerge与TortoiseSvn集成?

71
当你在安装TortoiseSVN之后安装WinMerge时,它会给你选择将WinMerge与Tortoise关联的选项。但是如果我们在安装WinMerge之后安装TortoiseSVN,我们如何将WinMerge关联使用而不是Tortoise默认的差异查看器呢?
3个回答

100

你可以打开TortoiseSVN设置并手动输入它:

enter image description here

上面截图中的命令行是:

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine

如果你在安装WinMerge之后安装了TortoiseSVN,最简单的方法可能是卸载并重新安装WinMerge。


5
我会尽力进行翻译,请您放心。以下是需要翻译的内容:我喜欢在左侧窗格中看到更改后的版本,因此这是我的命令:C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -ub -dl %yname -dr %bname %mine %base - mattalxndr
2
我知道安装程序设置了这些选项,但是官方文档中没有提到-ub选项。查看MergeCmdLineInfo.cpp文件,我发现这意味着把-ul-ur结合起来使用。源代码显示该选项已被弃用,只有-u也可以工作。 - ventiseis
2
我还添加了一个/wl,因为我不明白为什么我想要/允许在这里编辑基础内容。文档只使用Windows风格的开关(/而不是-),所以我选择了这个,但我猜两者都可以。 - Adam

26

你也可以使用WinMerge来合并更改。在设置窗口(如上所示)中,在“合并工具”下,输入:

32位操作系统

C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %tname -dr %yname %theirs %mine

64位操作系统

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -ub -dl %tname -dr %yname %theirs %mine

接下来你会在左边看到远程文件,在右边看到本地(改变过的)文件。


实际上,我认为如果您使用“wl”(只读左窗格)和%merged作为输出路径,那么事后解决问题会更好。我使用以下命令:C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -ub -dl %tname -wl -dr %yname %theirs %mine %merged - binarez

22

差异查看器

C:\Program Files\WinMerge\WinMergeU.exe -e -x -u -wl -dl %bname -dr %yname %base %mine

使用:

  • -e 可以让你通过按下一个 Esc 键来关闭 WinMerge。
  • -x 在比较相同文件时(显示信息对话框后)关闭 WinMerge。
  • -u 防止 WinMerge 将左侧或右侧的路径添加到最近使用的列表中。
  • -wl 以只读方式打开左侧。
  • -dl %bname 在左侧标题栏中指定原始文件的描述。
  • -dr %yname 在右侧标题栏中指定自己文件的描述。
  • %base 指定左侧的原始文件。
  • %mine 指定右侧的自己文件。

合并工具

C:\Program Files\WinMerge\WinMergeU.exe -e -x -u -wl -dl %tname -dr %yname %theirs %mine %merged

与上述选项相同,除了以下内容:

  • -dl %tname 在左侧标题栏中指定仓库文件的描述。
  • %theirs 指定左侧文件为仓库文件。
  • %merged 指定冲突文件,即合并操作的结果。

对我来说,只有点击高级按钮并编辑.docx行,在外部程序字段中粘贴命令行才有效。 - NoJoshua
感谢您提供有用的总结,说明了每个不同的命令行开关的作用。 - AFract
1
感谢您提醒合并工具设置! - Keith
很棒的回答。除了现在Winmerge有64位版本,所以路径中不再需要“x86”了 :) - undefined

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