Я согласен с @ Ken.
Я бы настоятельно рекомендовал против , используя svn:externals
вообще без конкретной ревизии. Без ревизии невозможно воссоздать старые кассы. Если вы помечаете свои внешние элементы только при пометке, вы сможете воссоздать только то, что отметили. Если вы хотите воссоздать некоторую промежуточную ревизию в транке, вы по своему усмотрению.
Одна из причин не разветвления внешних факторов заключается в том, что неясно, как это должно быть сделано. Если ваши внешние элементы в проекте A указывают на теги / 2.0.0 и вы создаете ветку 3.4.x для своего проекта, на что должен указывать внешний элемент для проекта A? Должен ли проект А также быть филиалом? Если да, то к какой версии?
Если проекты имеют разные циклы выпуска, вообще невозможно определить разумное поведение для внешних элементов при ветвлении.
(Возможно, вы захотите взглянуть на скрипт svncopy.pl
, если вы еще этого не сделали (включен в дистрибутив источника Subversion), который позволяет закреплять внешние элементы во время тегирования.)
Мы обнаружили, что svn: externals очень плохо работают, когда используются для объединения набора компонентов, которые вы активно разрабатываете. Externals хорошо работает, чтобы вводить внешние компоненты, которые не сильно перемещаются, и где у вас нет проблемы ветвления.