Если вы не хотите ограничить доступ к фиксации для определенной ветви, в Subversion нет простого способа сделать это.
Прежде всего, обычно просто нужно ограничить слияния небольшим подмножеством.файлов.Если вы разрешаете только слияния на уровне проекта, я не могу выборочно слить, когда это необходимо.
Другая проблема заключается в том, что svnlook
не говорит вам, почему файл был изменен.Даже если бы вы могли запретить коммиты, если на определенных файлах есть svn: merge-info, пользователи могут легко использовать параметр --ignore-ancestery
и не только выполнять слияние, но даже не записывать его, что еще больше испортит вас, поскольку вынет информации, что слияние было даже сделано.Помните, что если вы запретите пользователю делать то, что ему нужно, он найдет способ обойти ваши ограничения.
Лучшее, что можно сделать, - это довериться своим разработчикам и научить их, как и почемуони должны сливаться в Subversion.
Помните, что вы всевидящий Бог, когда дело доходит до Subversion.Там нет ничего скрытого от вашего всезнающего присутствия.Если разработчик делает дурацкое слияние, вы узнаете об этом через "svn log".Эта сила держит разработчиков в курсе.Это особенно актуально, если вы получаете техническую информацию о том, почему вам нужно объединиться в логической и последовательной усадьбе.В конце концов, команды разработчиков страдают, если слияние идет не так, как надо.