Как я могу выполнить ветвь в SVN и сделать так, чтобы она тоже разветвляла мои папки svn:external?

Я использую черепаху SVN в Windows.

Как я могу выполнить ветвь в SVN и сделать так, чтобы она тоже разветвляла мои папки svn:external?

4 ответа

Решение

Вы должны использовать svn:externals как внешние ссылки из разных репозиториев. Так svn:externals должны ссылаться на компоненты, модули, сторонние инструменты и т. д.

Вы не должны использовать svn:externals подражать поведению "символической ссылки", используя внешние ссылки для указания на тот же репозиторий. Вы можете решить такие проблемы большую часть времени, изменив свою структуру сборки, или используя checkout-скрипты и функцию разреженного извлечения.

svn: внешние проблемы имеют много проблем, большинство из которых трудно увидеть, отследить и исправить: посмотрите пример здесь

  • коммиты не могут охватывать внешние (без атомарных коммитов)
  • ветви не будут разветвляться (как вы указали)
  • теги не "замораживают" свои внешние компоненты, поэтому последние сборки могут привести к различным / неработающим сборкам
  • слияние и реинтеграция слияния не будут работать на внешних

Если вы используете внешние ссылки для указания на другие репозитории, в большинстве случаев у вас не будет этих проблем.

Вам придется вручную создать ветку во внешнем репозитории, а затем изменить свойство svn:external, чтобы оно указывало на правильную ветку.

Когда вы создаете ветку в Subversion, вы просто создаете дешевую копию ствола, ветки или тега, от которого вы разветвляетесь. Эта дешевая копия будет содержать все те же файлы и свойства, что и ствол, ветвь или тег, от которого вы разветвились, пока вы не начнете изменять свойства или файлы новой ветки.

Тем не менее, вы можете изменить один из хуков 'commit' для автоматического изменения настроек после фиксации вашей ветки. http://svnbook.red-bean.com/en/1.1/ch05s02.html

В противном случае, если вы хотите, чтобы ваши внешние элементы были изменены в филиале, вам нужно будет сделать это вручную.

Сейчас есть относительные внешние факторы. хотя вы должны знать:) я использую их прямо сейчас - в процессе решения нескольких проблем, которые я получил, но я прогрессирую. я только отметил проект после создания относительных внешних элементов в нем. на данный момент это странно - когда я проверяю ветку, он уведомляет меня, что внешние элементы из ревизии "top revision of the trunk", но сами внешние элементы являются исходными - что я и хочу:)

Другие вопросы по тегам