4

我正在使用 MacBook Pro。我已经设置了 git difftool 来使用 meld。这是我的 ~/.gitconfig:

    [diff]
    tool = meld
    [difftool]
    prompt = false
    [difftool "meld"]
    trustExitCode = true
    cmd = open -W -a Meld --args \"$LOCAL\" \"$PWD/$REMOTE\"
    [merge]
    tool = meld
    [mergetool]
    prompt = false
    [mergetool "meld"]
    trustExitCode = true
    cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"

当我执行 git difftool 时,meld 在后台启动。我必须单击融合图标才能查看差异。(Command + Tab 不起作用)当我关闭一个文件时,另一个文件再次在后台打开。所以我必须再次点击融合图标才能看到差异。

虽然这在技术上有效,但非常不方便。我想知道是否有办法解决这个问题,以便融合将在最前沿启动差异。

4

2 回答 2

0

它不是一个修复程序,但它是一项体面的工作,对我有用。

此消息由munepi撰写(在原始帖子中可能更易于阅读)

将原始的 Mac 端口启动脚本移动到下面的 Meld.distro。

$ mv/Applications/Meld.app/Contents/MacOS/Meld

/Applications/Meld.app/Contents/MacOS/Meld.distro制作下面/Applications/Meld.app/Contents/MacOS/Meld的包装 Meld.distro

#!/bin/bash  
## 
# $ sudo xattr -r -d com.apple.quarantine /Applications/Meld.app/  
## standard plist settings: OK
# ~/Library/Preferences/org.gnome.meld.plist
# $ defaults read org.gnome.meld
# $ defaults write org.gnome.meld "/org/gnome/meld/use-system-font" 0
# $ defaults write org.gnome.meld "/org/gnome/meld/custom-font" "Ricty, 18"  
##FIXME: ad-hoc cleanup Meld settings (cd ${HOME} rm -rf ./.local/share/meld
#rm -f ./Library/Preferences/org.gnome.meld.plist rm -rf "./Library/Saved Application State/org.gnome.meld.savedState/" )  
# export G_ENABLE_DIAGNOSTIC=1 # 0 or 1
# export GTK_THEME=Adwaita # Adwaita or Adwaita:dark
# export GTK_DEBUG=interactive   logger "/Applications/Meld.app/Contents/MacOS/Meld.distro" exec "/Applications/Meld.app/Contents/MacOS/Meld.distro" $@ 

然后,$ chmod +x /Applications/Meld.app/Contents/MacOS/Meld

我说

您可以在上述包装器 Meld 中使用一些与 GTK 相关的环境变量:G_ENABLE_DIAGNOSTIC、GTK_THEME、GTK_DEBUG。如有必要,您还可以在上面的包装器 Meld 中评论一些提示。我还在 Issue Can't change font #38 中发布了如何通过 Meld plist 设置使用/更改自定义字体。plist 文件 ~//Library/Preferences/org.gnome.meld.plist 就是其中一个。如有必要,请检查并尝试该帖子。

我不得不改变我的 .gitconfig 如下

[mergetool]
prompt = false
[mergetool "meld"]
trustExitCode = true
cmd = /Applications/Meld.app/Contents/MacOS/Meld --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"

更多信息/提示可以在这里找到: https ://github.com/yousseb/meld/issues/73#issuecomment-447728538

于 2021-04-27T06:52:50.753 回答
0

还没有弄清楚如何在最前沿打开融合。但是当我执行 Command + q 快速融合时,它会在最前面自动打开另一个文件。所以这有帮助。

于 2020-03-01T23:30:36.473 回答