Как создать ответвление в SVN?
Создайте новую ветку с помощью команды svn copy
следующим образом:
$ svn copy svn+ssh://host.example.com/repos/project/trunk \
svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
-m "Creating a branch of project"
Переход в Подрывной деятельности облегчен очень очень легким и эффективным средством для копирования.
Переход и маркировка - эффективно то же. Просто скопируйте целую папку в хранилище к где-то в другом месте в хранилище, используя 'svn копия' команда.
В основном это означает, что это в соответствии с соглашением, что копирование папки означает - ли это быть резервной копией, признаком, отделением или что бы то ни было. В зависимости от того, как Вы хотите думать о вещах (обычно, в зависимости от которого инструмента SCM Вы использовали в прошлом), Вы должны настроить структуру папок в своем хранилище, чтобы поддержать Ваш стиль.
У общих стилей должна быть связка папок наверху Вашего хранилища, названного 'признаками', 'ветвями', 'стволом', и т.д. - который позволяет Вам копировать свой целый 'ствол' (или подмножества) в папки 'отделений' и/или 'признаки'. Если у Вас есть больше чем один проект, Вы могли бы хотеть копировать этот вид структуры в соответствии с каждым проектом:
Это может требовать времени, чтобы привыкнуть к понятию - но это работает - просто удостоверяются, что Вы (и Ваша команда) ясны на соглашениях, что собираетесь использовать. Это - также хорошая идея иметь хорошее соглашение обозначения - что-то, что говорит Вам, почему отделение/признак было сделано и соответствующее ли это все еще - рассматривают способы заархивировать отделения, которые являются устаревшими.
Если you' ре repo доступно через https, Вы можете использовать эту команду, чтобы ветвиться...
svn copy https://host.example.com/repos/project/trunk \
https://host.example.com/repos/project/branches/branch-name \
-m "Creating a branch of project"
svn cp /trunk/ /branch/NEW_Branch
Если у Вас есть некоторые местные изменения в стволе, тогда используют 'Rsync', чтобы синхронизировать изменения
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
Предположим, что Вы хотите создать отделение из названия багажника (как " TEST") тогда использование:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
Обычно вы'копируете его в svn+ssh://host.example.com/repos/project/branches/mybranch, чтобы можно было держать несколько веток в репозитории, но ваш синтаксис верен.
Вот несколько советов по настройке макета репозитория.
Главный наконечник для новых пользователей SVN; это может помочь немногому с получением правильных URL быстро.
Управляемый 'svn информация', чтобы показать полезную информацию о токе проверил отделение.
URL должен (если Вы бежите, svn в корневом каталоге) дают Вам URL, с которого Вы должны скопировать.
Также, чтобы переключиться на недавно созданное отделение, используйте 'svn выключатель' команда:
svn switch http://my.repo.url/myrepo/branches/newBranchName
Если вы даже планируете объединить свою ветвь, я настоятельно рекомендую вам взглянуть на это:
Я слышал, что в Subversion 1.5 больше встроено отслеживание слияния, но у меня нет опыта в этом. Мой проект находится на 1.4.x, и svnmerge.py - это спасение жизни!