Difftool无法打开,命令行挂起

时间:2018-09-21 16:59:07

标签: git meld git-difftool

我已将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

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

我正在尝试将当前文件与上次提交进行比较。当我执行git difftool时,命令行会显示

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

但是没有其他事情发生。 Meld无法打开。命令行也显示为冻结状态,我必须关闭Powershell。

如何使Meld正确打开?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

问题似乎与熔炉如何关闭有关。

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

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

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

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

要修复它:

  • 确保在启动它的终端中使用ctrl-C没电了
  • 然后按照Manfred Scheucher的显示rm〜/ .local / share / meld / recent-*。
  • 然后再次检查目录是否为空:ls -al〜/ .local / share / meld
  • 从任务栏中的图标启动它,即右键单击,然后“打开”
  • 它应该干净整洁,没有目录等命名
  • 然后使用“合并”干净地关闭它,然后从菜单系统中“退出合并”
  • 然后再次检查目录是否为空:ls -al〜/ .local / share / meld  并保留其中的所有文件。
  • 应该干净地拿起它,并从图标托盘中彻底关闭它。

为避免重复发生:

  • 正常启动它,例如git vdiff来源/主控...
  • 请勿使用ctrl-C杀死它!
  • 使用菜单系统“ Meld”关闭它| “戒烟”

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