【问题标题】:BeyondCompare git difftool -d closes immediately without waiting for userBeyondCompare git difftool -d 立即关闭,无需等待用户
【发布时间】:2021-08-09 20:47:23
【问题描述】:

注意:这类似于WebStorm git difftool -d closes immediately without waiting for user,但用于Beyond Compare

当我运行git difftool -d 并将 Beyond Compare 设置为我的默认 difftool 时,git 会立即关闭,而不会让 Beyond Compare 显示任何比较。我该如何解决?

【问题讨论】:

    标签: git diff beyondcompare


    【解决方案1】:

    很像类似的问题,我打开了 Beyond Compare,它喜欢作为单个实例运行。不过,这不是我的全部问题。我的差异工具引用了错误的可执行文件。 BCompare.exe 是主要的可执行文件,如果可以的话,它将是单个实例。 BComp.exe 是您应该用于合并工具的可执行文件。

    为什么?我认为这实际上很酷。如果实例未打开(显然),则第二个打开第一个。这里有趣的部分是第二个在返回值之前等待相关的文档/任务在主程序中关闭。这意味着您可以在 git 打开的 Beyond Compare 实例中打开其他文件,当您关闭该文件时,git 仍会获得初始文件的返回码。我很想画一些精美的图画来说明,但我目前没有时间或技能去做。

    如果这不能解决您的问题,您可以在命令中添加-solo。在这种情况下,它会打开另一个 UI 实例。

    【讨论】:

      【解决方案2】:

      您的 Beyond Compare 版本可能无法按预期工作。见讨论Scooter's forum。在命令行提示符处检查是否

      1. bcomp file1 file2 等到关闭窗口。
      2. bcomp dir1 dir2 等到关闭窗口。
      3. bcompare -solo dir1 dir2 等到关闭窗口。

      (1) 可能有效。

      (2) 根据论坛的说法,预计不会等待。

      (3) 根据command line reference,我发现这也不起作用,尽管它应该起作用。

      如果 (3) 没有帮助,您可以编辑 mergetools/bc 文件。将此行添加到diff_cmd() 的末尾:

      [ -d "$LOCAL" -o -d "$REMOTE" ] && [ -t 0 ] && read -p "Press ENTER to continue..."
      

      文件的位置是/lib/git-core/mergetools/bc 或类似的东西。在我的 gitforwindows 中,它是c:\Program Files\Git\mingw64\libexec\git-core\mergetools\bc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-01
        • 2015-08-25
        • 2019-06-16
        • 1970-01-01
        • 1970-01-01
        • 2012-07-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多