Pourquoi «git difftool» n'ouvre-t-il pas l'outil directement?

157

J'ai configuré gitcomme ceci:

git config --global diff.tool meld

Quand je cours:

git difftool

Je reçois le message suivant:

Viewing: 'hello.txt'
Hit return to launch 'meld': 

Ensuite, si j'appuie sur Enter, meldse lancera.

Comment puis-je désactiver ce message, afin qu'il meldsoit lancé immédiatement après la saisie git difftool?

Misha Moroshko
la source
4
Je pense également qu'une question valable est la suivante: pourquoi une approbation supplémentaire est-elle nécessaire par défaut?
Radek Postołowicz

Réponses:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Bill porte
la source
20
La réponse de @ZJR semble être la réponse préférée de la plupart des gens (moi y compris).
Jono
1
Référez-vous à la réponse de ZJR (en cas de changement de nom d'utilisateur): stackoverflow.com/questions/7897517/…
Peter Mortensen
meilleure réponse ci-dessous.
m1m1k
@ m1m1k Meilleur commentaire ci-dessus :-)
Duncan Jones
379

Il y a aussi une option:

difftool.prompt
  Prompt before each invocation of the diff tool.

La commande suivante désactive l'invite globalement (pour tous les dépôts):

git config --global difftool.prompt false

Ce qui est comme écrire en ~/.gitconfig:
(ou en %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
ZJR
la source
16
C'est la bonne solution. La réponse a signalé une solution, n'enregistre aucune pression de touche. Merci beaucoup.
sweisgerber.dev
2
@sebweisgerber Je viens de paraphraser la réponse marquée et j'ai découvert comment la rendre permanente. Je n'aurais probablement pas trouvé l'option autrement.
ZJR du
1
C'est une meilleure réponse car elle gérera le cas comme action par défaut, ce qui permettra à l'auteur de la question de continuer à utiliser git-difftool comme il le souhaite.
Neil Monroe
En fait, l' --addoption est mal placée ici. Cela signifie ajouter le paramètre "prompt = false" à toutes les entrées de "promt" qui sont déjà là, alors que le but est de remplacer la valeur actuelle ou de l'ajouter en premier lieu. Ce comportement est obtenu sans --add.
user905686
17
Assurez-vous de ne pas mettre propmt = falsedans la section [difftool "toolname"] `par accident. Ça ne marche pas. Cela devrait être sous la [difftool]section.
Fosna le