Мы используем Mercurial через TortoiseHg с «верстаком».
При объединении веток мы часто обнаруживаем, что выбор обновлений по умолчанию (автоматически?) не то, что нам нужно. Мы хотели бы настроить инструмент так, чтобы он всегда запрашивал любую операцию слияния.
В каждой ветке есть некоторые основные файлы, которые нам нужно обновлять между ними, а также некоторые файлы, специфичные для ветки, которые необходимо сохранить.
Если мы обновляем файлы ядра в одной ветке, мы хотели бы выполнить слияние, чтобы получить последние файлы ядра в другой ветке. Однако TortoiseHg по умолчанию делает автоматические обновления, которые нам не нужны.
Примеры:
1) Ветка «1» содержит файл «1.xls», а ветка «2» имеет эквивалент «2.xls», которые хранятся в двоичном виде. Слияние «1» с рабочим каталогом, основанным на «2», приводит к удалению «2.xls» и добавлению «1.xls».
2) Ветка «1» содержит обновленный файл «not_core.c», который имеет эквивалент «not_core.c» в ветке «2». Слияние «1» с рабочим каталогом, основанным на «2», вызывает нежелательное автоматическое обновление «not-core.c» в «2».
3) Ветка «1» содержит обновленные файлы «core1.c» и «core2.c». Слияние «1» с рабочим каталогом, основанным на «2», вызывает автоматическое обновление обоих файлов, когда мы предпочитаем подсказку, позволяющую нам выбрать, будут ли обновлены эти основные файлы. Может быть, нам пока нужен только 'core1.c'.
Я видел ссылку на настройку «mergetool.premerge = false» в mercurial.ini и безуспешно пробовал некоторые варианты этого.
Идеальной настройкой будет запуск графического ручного разрешения для каждого отличающегося файла.
Кто-нибудь может помочь с конфигурацией, поддерживающей описанный функционал?
Спасибо, Ян