Вот основной способ настройки Mercurial для включения объединения изображений с помощью MS Paint.
Сначала создайте файл mspaintmergetool.cmd
где-нибудь в системном PATH Windows (чтобы Mercurial мог его найти), содержащий:
START %WINDIR%\system32\mspaint.exe %1
START %WINDIR%\system32\mspaint.exe %2
START %WINDIR%\system32\mspaint.exe %3
START /WAIT %WINDIR%\system32\mspaint.exe %4
Затем настройте Mercurial для объединения изображений с помощью этого сценария, добавив следующее в .hgrc
или mercurial.ini
:
[merge-tools]
mspaintmergetool.args = $base $local $other $output
mspaintmergetool.binary = True
[merge-patterns]
**.bmp = mspaintmergetool
**.png = mspaintmergetool
**.jpg = mspaintmergetool
Если во время слияния образ с именем cat.png
конфликтует, откроются четыре экземпляра MS Paint:
cat.png~base
- это то, как изображение выглядело незадолго до того, как разработка разделилась на два потока, которые вы сейчас пытаетесь объединить вместе
cat.png~orig
- это то, как изображение выглядит в ветви, которую вы объединяете в (локальный локальный); это образ, с которого вы начали в рабочем каталоге до начала этого слияния
cat.png~other
- это то, как изображение выглядит в ветви, которую вы объединяете из (например, удаленно)
cat.png
- когда открывается этот экземпляр Paint, он изначально содержит то же изображение, что и ~orig
; Ваша задача - отредактировать изображение в этом экземпляре в комбинацию ~orig
и ~other
, сохранить и выйти из этого экземпляра Paint. После выхода Mercurial пометит конфликт как разрешенный и возобновит слияние. Обратите внимание, что первые три экземпляра не будут закрываться автоматически, поэтому, чтобы избежать путаницы с потенциально остающимися конфликтующими изображениями, вы можете закрыть эти экземпляры Paint вручную перед закрытием этого.