Como desativar o pager git, mas apenas para certos comandos?

9

Eu gosto de ter o pager habilitado para git log por exemplo, mas não git diff porque eu tenho minha própria ferramenta de comparação visual, e eu odeio ter que clicar em 'q' na linha de comando depois do diff feito com. Existe uma maneira de fazer isso?

    
por CaptSaltyJack 24.05.2011 / 20:14

2 respostas

17

Você pode definir a variável de configuração pager.diff para desabilitar o pager para subcomandos específicos. Veja pager.<cmd> em git-config (1) .

git config --global pager.diff false

Deixe de fora --global se você quiser apenas fazer essa alteração de configuração para o repositório atual.

    
por 25.05.2011 / 06:02
0

Não é uma ótima solução, mas você poderia ter um wrapper git que determina qual comando você está executando e canaliza a saída através do cat para eliminar a detecção do terminal.

#!/bin/sh
case "$1" in)
  diff) git "$@" | cat;;
  *) exec git "$@";;
esac

É claro que meu programa de exemplo é totalmente inteligente. Você precisaria pular as opções em vez de codificar "$ 1" no programa.

    
por 24.05.2011 / 22:38

Tags