Graças aos esforços intermináveis de um dos usuários mais educados aqui na troca de pilha, eu finalmente descobri que o wiki mercurial parece estar desatualizado. Há ele diz:
Add to ~/.hgrc:
[extensions] hgext.extdiff = [extdiff] cmd.kdiff3 = [merge-tools] kdiff3.args = $base $local $other -o $output
A extensão do extdiff não é necessária, pois não quero definir um novo comando hg kdiff3
aqui.
Mas o Mercurial tem mais algumas configurações para a ferramenta de mesclagem:
[ui]
merge = kdiff3
Em relação à ajuda do Mercurial em ferramentas de mesclagem , a configuração ui.merge
não deve ser necessária, pois especificamente definir uma configuração de ferramentas de mesclagem:
Mercurial uses these rules when deciding which merge tool to use:
- If a tool has been specified with the --tool option to merge or resolve, it is used. If it is the name of a tool in the merge-tools configuration, its configuration is used. Otherwise the specified tool must be executable by the shell.
- If the "HGMERGE" environment variable is present, its value is used and must be executable by the shell.
- If the filename of the file to be merged matches any of the patterns in the merge-patterns configuration section, the first usable merge tool corresponding to a matching pattern is used. Here, binary capabilities of the merge tool are not considered.
- If ui.merge is set it will be considered next. If the value is not the name of a configured tool, the specified value is used and must be executable by the shell. Otherwise the named tool is used if it is usable.
- If any usable merge tools are present in the merge-tools configuration section, the one with the highest priority is used.
- If a program named "hgmerge" can be found on the system, it is used - but it will by default not be used for symlinks and binary files.
- If the file to be merged is not binary and is not a symlink, then internal ":merge" is used.
- The merge of the file fails and must be resolved before commit.
De alguma forma, tenho a sensação de que o Mercurial mudou seu comportamento aqui (ou alguma outra parte do meu sistema), porque em todas as máquinas em que usei o kdiff3, não tenho a última configuração no meu .hgrc. No entanto, adicionar ui.merge
faz o truque.