Как настроить "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

Другие вопросы по тегам