Por que o “git difftool” não abre a ferramenta diretamente?

157

Eu configurei gitassim:

git config --global diff.tool meld

Quando eu corro:

git difftool

Recebo a seguinte mensagem:

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

Então, se eu pressionar Enter, meldserá iniciado.

Como posso desativar esta mensagem, para que meldseja lançada imediatamente após a digitação git difftool?

Misha Moroshko
fonte
Veja também: stackoverflow.com/questions/1220309/…
Caracol mecânico
4
Penso também que a pergunta válida é: por que, por padrão, é necessária uma aprovação adicional?
Radek Postołowicz 04/09/2015

Respostas:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Bill Door
fonte
19
A resposta de @ZJR parece ser a resposta preferida da maioria das pessoas (inclusive eu).
Jono
1
Ref a resposta de ZJR (no caso de mudança de nome de usuário): stackoverflow.com/questions/7897517/...
Peter Mortensen
melhor resposta abaixo.
m1m1k 20/06
378

Há também uma opção:

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

O comando a seguir desativa o prompt globalmente (para todos os repositórios):

git config --global difftool.prompt false

O que é como escrever em ~/.gitconfig:
(ou em %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
ZJR
fonte
16
Esta é a solução adequada. A resposta sinalizou uma solução, não salva nenhuma tecla pressionada. Muito obrigado.
Sweisgerber.dev 6/06/2014
2
@sebweisgerber Acabei de parafrasear a resposta marcada e descobri como torná-la permanente. Eu provavelmente não teria encontrado a opção de outra maneira.
ZJR
1
Essa é uma resposta melhor, pois ela tratará o caso como a ação padrão, o que permitirá que o criador de perguntas continue usando o git-difftool como desejar.
Neil Monroe
Na verdade, a --addopção está fora de lugar aqui. Significa adicionar a configuração "prompt = false" a quaisquer entradas de "promt" que já existem, enquanto o objetivo é substituir o valor atual ou adicioná-lo em primeiro lugar. Esse comportamento é alcançado sem --add.
User905686
17
Certifique-se de não colocar propmt = falsena seção [difftool "toolname"] `por acidente. Isso não funciona. Deve estar na [difftool]seção.
Fosna