Как настроить "flatpak run org.gnome.meld" как git diff.tool и merge.tool
Я не могу использовать meld
из-за испорченной локальной установки cairo
или еще. Я уже потратил некоторое время на это, включая сообщение об ошибке как об ошибке, но сопровождающий заявляет, что это не ошибка, которая кажется правильной. Поэтому я хотел бы попробовать другой более перспективный подход и использовать flatpak
монтаж. я могу использовать meld
как обычно с flatpak run org.gnome.meld
проблема, кажется, передача аргумента.
Просто git config --global diff.tool "flatpak run org.gnome.meld"
причины git difftool
с незафиксированными изменениями потерпеть неудачу из-за
git config option diff.tool set to unknown tool: flatpak run org.gnome.meld
Resetting to default...
This message is displayed because 'diff.tool' is not configured.
See 'git difftool --tool-help' or 'git help config' for more details.
'git difftool' will now attempt to use one of the following tools:
meld opendiff kdiff3 tkdiff xxdiff kompare gvimdiff diffuse diffmerge ecmerge p4merge araxis bc codecompare emerge vimdiff
Viewing (1/1): 'a'
Launch 'meld' [Y/n]?
Во избежание неприятностей я создал скрипт
#!/bin/sh
flatpak run org.gnome.meld "$@"
в ~/bin/
и сделал его исполняемым с chmod +x ~/bin/meld
, ~/bin/
первый в моем PATH
и взял в соответствии с which meld
,
После следующего сценария
> cd $(mktemp -d)
> git init .
Leeres Git-Repository in /tmp/tmp.2RFxjgBbQ5/.git/ initialisiert
> echo 1 > a
> git add a
> git commit -m "Initial commit"
[master (Basis-Commit) 997fe0d] Initial commit
1 file changed, 1 insertion(+)
create mode 100644 a
> echo 2 > a
> git difftool
Viewing (1/1): 'a'
Launch 'meld' [Y/n]?
meld
запускается для просмотра /tmp/cKSwbn_a
а также /home/[user]/a
(пользователь запутался), которые оба не существуют.
У меня есть другие менее удобные обходные пути с участием Docker, поэтому я в основном заинтересован в понимании того, как этот подход может работать.
1 ответ
Вы можете установить .gitconfig
вызывать flatpak run org.gnome.meld
с --filesystem
или же --file-forwarding
опции. Смотрите: https://github.com/flatpak/flatpak/issues/1423