Я играю с Mercurial, чтобы посмотреть, подходит ли он для использования в нашей компании. Одним из главных преимуществ этого является возможность объединения. Поэтому я поиграл с созданием веток и слиянием их с линией по умолчанию. Тестирование включало просто добавление нового метода (methodA) в один файл Java в одной ветви и добавление другого метода (methodB) в совершенно другое место в том же файле в другой ветви.
Когда я впервые попробовал это в Eclipse, используя опцию team-> merge, я обнаружил, что первое слияние работает нормально (то есть добавлено метод A). Когда я пытаюсь объединить вторую ветку, она говорит мне, что есть конфликт, который я должен разрешить. Это очень прискорбно, так как я думал, что этот простой тип слияния - это именно то, с чем Mercurial должен был справиться с легкостью?
Я попробовал точно такой же тест с использованием командной строки, и на этот раз он работал нормально, то есть оба слияния были успешными без необходимости разрешения конфликтов. Глядя на вывод консоли в eclipse, он использует следующую команду для выполнения слияния:
hg -y merge --config ui.merge=internal:fail -r 611ca2784593525cdafd3082b17d3310037a5d58 -f
тогда как когда я запускаю его сам из командной строки, я просто делаю:
hg merge -r 1234
Является ли использование стратегии слияния «внутренним: неуспешным», вызывающим это в Eclipse ?? И если да, то можно ли изменить поведение по умолчанию, чтобы оно работало так же, как в командной строке?