3

我已将 Meld 配置为我的 difftool。我很确定它配置正确,因为如果我这样做git config -l,我会得到

merge.tool=meld
diff.tool=meld
mergetool.meld.path=C:\Program Files (x86)\Meld\Meld.exe
difftool.meld.path=C:\Program Files (x86)\Meld\Meld.exe

设置与我的合并工具相同,合并工具确实可以正常工作。

我正在尝试将我当前的文件与我上次提交的文件进行比较。当我这样做git difftool时,命令行说

Viewing (1/9): 'myfile.cs'

但没有其他事情发生。Meld 打不开。命令行也出现冻结,我必须关闭 Powershell。

如何让 Meld 正确打开?

4

2 回答 2

2

我最近在比较两个(二进制)zip 文件而不是比较提取的内容(几乎相似)时遇到了类似的问题。我想如果比较差异太大的文件,就会出现问题。

通过停止 meld 并删除~/.local/share/meld/recent-*,我设法让 meld 再次运行。

于 2019-09-23T07:57:43.063 回答
0

问题似乎是关于融合如何被关闭。

我的 PC 是 MAC,我还没有在 Ubuntu 上尝试过。

如果我通过 git 开始融合,例如:

git vdiff origin/master...
# where "vdiff" invokes meld
# kill it here with ctrl-C in the terminal

它会导致下次启动时挂起/失败。

要解决这个问题:

  • 确保它在你启动它的终端中用 ctrl-C 死了
  • 然后 rm ~/.local/share/meld/recent-* 如 Manfred Scheucher 所示。
  • 然后仔细检查目录是否为空: ls -al ~/.local/share/meld
  • 从托盘中的图标启动它,即右键单击然后“打开”
  • 它应该干净地出现,没有目录等命名
  • 然后使用“Meld”干净地关闭它,然后从菜单系统中“退出 Meld”
  • 然后仔细检查目录是否为空: ls -al ~/.local/share/meld 和 rm 那里的任何文件。
  • 它应该干净地出现并从图标托盘干净地关闭。

为了防止它再次发生:

  • 正常启动它,例如 git vdiff origin/master ...
  • 不要使用 ctrl-C 杀死它!
  • 使用菜单系统“融合”关闭它| “退出梅尔德”

使用这种技术,它似乎对我来说很正常——假设我用菜单(而不是 ctrl-c)杀死它

于 2019-12-03T01:03:32.937 回答