Je ne peux pas utiliser meld
à cause d'une mauvaise installation locale de cairo
ou bien. J'y ai déjà consacré un peu de temps, notamment en signalant l'échec comme un bogue, mais le mainteneur affirme que ce n'est pas un bogue, ce qui semble correct. C'est pourquoi j'aimerais essayer une approche différente, plus prometteuse, et utiliser une fonction flatpak
installation. Je peux utiliser meld
comme d'habitude avec flatpak run org.gnome.meld
Le problème semble être le passage des arguments.
Un simple git config --global diff.tool "flatpak run org.gnome.meld"
causes git difftool
avec des changements non engagés d'échouer en raison de
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]?
Afin d'éviter les problèmes, j'ai créé un script
#!/bin/sh
flatpak run org.gnome.meld "$@"
sur ~/bin/
et l'a rendu exécutable avec chmod +x ~/bin/meld
. ~/bin/
est le premier de ma PATH
et ramassé selon which meld
.
Après le scénario suivant
> 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
est lancé pour visualiser /tmp/cKSwbn_a
et /home/[user]/a
(obfusqué par l'utilisateur) qui n'existent pas.
J'ai d'autres solutions de contournement moins confortables à portée de main, impliquant Docker, donc je suis surtout intéressé à comprendre comment cette approche pourrait fonctionner.