[ui]
merge = kdiff3
[merge-tools]
kdiff3.premerge = false
kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output
По умолчанию он помещает аргумент --auto в kdiff3, поэтому kdiff3 автоматически объединяется.
Ответ 3
Слияние всегда выполняется между родительской версией рабочего каталога и другой версией, по умолчанию другой головой в вашем репозитории.
Если вы хотите объединиться в другом "направлении", вы можете изменить, какая ветка находится в вашем рабочем каталоге, проверив конкретную ревизию:
hg update -r [rev]
Чтобы узнать, какие главы у вас в вашем репозитории, выполните следующую команду:
hg heads
В качестве альтернативы, если вы используете fetch, вы можете использовать опцию --switch-parent для слияния в другом направлении:
hg fetch --switch-parent
Вы не можете изменить направление слияния по файловому принципу, так как Mercurial работает с наборами изменений, которые влияют на весь репозиторий, а не путем отслеживания изменений отдельных файлов, таких как CVS.