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

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

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

Ответы [ 4 ]

23 голосов
/ 29 октября 2008

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

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

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

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

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

11 голосов
/ 29 октября 2008

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

3 голосов
/ 29 октября 2008

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

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

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

2 голосов
/ 29 ноября 2011

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

...