Если вы с подозрением относитесь к процессу слияния, лошадь уже покинула сарай.
Скоординированное развитие требует только этого: координации. Вы не должны одновременно работать над одним и тем же сегментом кода. Означает ли это, что вы не работаете с одной и той же функцией, классом или файлом, зависит от ваших обстоятельств и масштаба ваших изменений, тема слишком глубокая для простого объяснения здесь.
Дело в том, что, если вы не знаете, что вы настроены на изменения с хорошей координацией, ни автоматизированный процесс слияния, ни ручной, хотя и плавный, не гарантируют хорошего результата. В лучшем случае это может сказать вам, что вы в конечном итоге не работали с одним и тем же фрагментом кода, но это не утешает семантические и логические изменения, которые нарушают ваш код или, что еще хуже, слегка его загрязняют. Это верно независимо от того, объединяется ли оно без жалоб или даже если оно компилируется.
Лучшая защита - это набор тестов, который позволяет вам автоматически проверять конечный продукт. К счастью, это так или иначе является одним из лучших подходов к текущему обслуживанию и развитию.
Все это говорит о том, что большинство слияний, которые я сделал, прошли без проблем. Те, которые вызвали проблемы, стали известны как конфликты в процессе слияния, и этого было достаточно, чтобы побудить нас более внимательно изучить рассматриваемый код, а также, что более важно, методы, которые мы использовали для разделения нашей работы. Лучше сделать это правильно, но также трудно понять, что «правильно», пока вы не испортили пару раз. Это не значит, что мы не вводили логических ошибок и не тестировали весь наш код, но мир тоже не идеален.
Что сводится к тому, что процесс слияния Mercurial такой же, но лучше, чем процесс без него, чистый позитив. Вы можете пропустить ручное слияние всех тех вещей, которые кажутся безобидными, и даже если бы в них были логические ошибки, вы, вероятно, пропустили бы беглый осмотр, такой как ручное слияние. Это просто быстрее и сосредотачивает внимание на конфликтах, которые в любом случае являются вашим лучшим курящим оружием для логических ошибок.
Единственный реальный ответ - явно координировать ваши усилия заранее, а также инвестировать в методологию тестирования, такую как TDD с модульным тестированием. Обвинение в слиянии - слабый соус.