На самом деле такой сценарий маловероятен. Ошибка о которой вы говорите - это скорее ошибка логики уровнем выше чем поведение внутри этих двух процедур. Мне например трудно себе представить, что за ошибка, которую можно исправить, внося изменения либо в одну либо в другую процедуру...
В таких случаях обычно добавляются/удаляются процедуры. И соответственно правится код их вызывающий. А это уже 4 случай, и система предложит выполнить слияние вручную.
Бывают конечно исключительные ситуации. Но тут уж ничего не поделаешь. Такие косяки нужно выявлять тестированием после сборки проекта.
Все современные системы контроля версий базируются на 3-way merge. И вроде как успешно.
Тут еще дело в том, что если отказаться от автоматического слияния, то все будет делаться вручную и ошибок при этом будет больше.
Теория вероятности короче