É possível mudar a ferramenta de comparação padrão no Mercurial?
-
04-07-2019 - |
Pergunta
Toda vez que faço um hg diff file.ext
eu acabar usando um aplicativo de console diff. Eu gostaria de usar Kdiff3 ou WinMerge (estou usando o Windows).
Existe uma maneira de mudar isso? Não consigo encontrar uma referência na documentação Mercurial ( Eu não estou falando sobre mala! ).
Solução
Eu resolvi isso usando um Mercurial built-in de extensão ... Eu só tem que adicionar as seguintes linhas ao Mercurial.ini (na pasta Mercurial):
[extensions]
hgext.extdiff=
[extdiff]
cmd.vdiff = kdiff3
Quando eu quero usar kdiff3 vez de diff eu só tenho de usar:
hg vdiff file.ext
Outras dicas
Com esta configuração
[extdiff]
cmd.kdiff3 =
Eu uso este comando para ver diffs:
hg kdiff
Este mostra uma árvore de diretório com todos os arquivos que foram alterados. Você clica em um arquivo para ver diffs apenas para o arquivo. Você pode ser capaz de adicionar um parâmetro do arquivo para o comando para ver apenas um arquivo.
Mais informações aqui .
Eu só tive esse problema há alguns minutos; Acabei de instalar-lo e acrescentou seu caminho (o padrão é em C: \ Program Files \ kdiff3) para o sistema PATH e.v. Reiniciado minha janela para pegar o novo caminho, e "hg kdiff3" só trabalhou. Como se vê a seguir é na minha base "mercurial.ini" arquivo, isso permite que o kdiff3 ao trabalho para todos os repos hg no sistema.
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Se você está procurando algo como git difftool
, onde você não precisa digitar os nomes de arquivos e ver o diff para todos os arquivos alterados, adicione-os à sua ~/.hgrc
e hg difftool
prazo.
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done