为什么 p4v 为每个差异打开一个新的 window?

Why does p4v open a new window for each diff?

在我以前的基于 Windows 7 的计算机上(我不能再参考它,因为它死了),我使用了 Perforce p4v 客户端,并更改了它的首选项以使用 Araxis Merge 作为 diff 应用程序。在那种环境下,如果已经有一个打开的 Araxis Merge window,在 p4v 中执行 diff 将导致 diff 结果出现在已经打开的 window.

的新选项卡中

相比之下,在我新的 Windows 10 计算机上,我使用的是最新版本 (191.183.0398) 的 p4v,但使用相同版本的 Araxis Merge。在这个新环境中,在 p4v 中执行差异总是会打开一个新的 Araxis Merge window,即使已经打开了 Araxis Merge window。那是不是我想要的。

有没有办法将 p4v 配置为使用已经打开的 window diff 应用程序,而不是总是打开一个新的 window?

p4v 之外的差异

我的 diff 应用程序 Araxis Merge 似乎没有问题。作为测试,我可以通过 Windows 资源管理器中的上下文菜单执行差异。如果已经有一个打开的 Araxis Merge window,以这种方式执行差异会导致差异结果出现在现有 window 的新选项卡中。这就是我想要的。

这个测试似乎也排除了 Windows 10 操作系统的罪魁祸首。

问题是我将 p4v 配置为执行 Merge.exe 作为 diff 应用程序。但是,Araxis Merge 有另一个名为 Compare.exe 的可执行文件,我应该改用它。当我将 p4v 配置为使用 Compare.exe 时,在 p4v 中执行差异会根据需要在已经打开的 Araxis Merge window 中打开一个新选项卡。

以下是正确 p4v 配置的示例片段。在菜单栏中,转到“编辑”>“首选项”,然后转到“差异”部分。

在阅读 Araxis Merge 命令行文档 (https://www.araxis.com/merge/documentation-windows/command-line.en) 时,我终于明白我做错了什么,其中部分内容是:

Using merge.exe to start file and folder comparisons is not recommended, unless you really do want a new instance of Merge for each comparison.