9 ответов:
ветвление в Subversion облегчается очень легким и эффективным средством копирования.
ветвление и маркировка фактически одинаковы. Просто скопируйте всю папку в репозитории в другое место в репозитории, используя .
в основном это означает, что это по соглашению, что означает копирование папки - будь то резервная копия, тег, ветвь или что-то еще. В зависимости от того, как вы хотите думать о вещах (обычно в зависимости от которых SCM инструмент, который вы использовали в прошлом) вам нужно настроить структуру папок в вашем репозитории для поддержки вашего стиля.
общие стили должны иметь кучу папок в верхней части вашего репозитория под названием
tags,branches,trunkи т. д. - это позволяет вам скопировать весь вашtrunk(или подмножества) вtagsи/илиbranchesпапки. Если у вас есть несколько проектов, вы можете реплицировать такую структуру под каждый проект:это может занять некоторое время чтобы привыкнуть к этой концепции-но она работает-просто убедитесь, что вы (и ваша команда) ясно на конвенциях, которые вы собираетесь использовать. Также неплохо иметь хорошее соглашение об именах - что - то, что говорит вам, почему была сделана ветвь/тег и является ли она все еще подходящей-рассмотрите способы архивирования ветвей, которые устарели.
создать новую ветку с помощью следующим образом:
$ 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"
Если вы РЕПО доступно через 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
обычно вы копируете его в svn + ssh://host.example.com/repos/project / branches / mybranch, чтобы вы могли хранить несколько ветвей в репозитории, но ваш синтаксис действителен.
вот несколько советов по как настроить макет репозитория.
Предположим, вы хотите создать ветку из имени ствола (как " тест") затем используйте:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
Если вы даже планируете объединить свою ветку, я настоятельно рекомендую вам посмотреть на это:
Я слышу, что Subversion 1.5 строит больше отслеживания слияния, у меня нет опыта с этим. Мой проект на 1.4.x и svnmerge.py это спасатель жизни!
верхний совет для новых пользователей SVN; это может немного помочь с получением правильных URL-адресов быстро.
выполнить
svn infoдля отображения полезной информации о текущей извлеченный филиала.URL должен (если вы запускаете svn в корневой папке) дать вам URL, который вам нужно скопировать.
кроме того, чтобы переключиться на вновь созданную ветку, используйте :
svn switch http://my.repo.url/myrepo/branches/newBranchName
- создайте новую папку за пределами текущего проекта. Вы можете дать ему любое имя. (Пример: у вас есть проверка для проекта с именем "настройка". И у него есть много проектов, таких как "Project1", "Project2"....И вы хотите создать ветку "Project1". Поэтому сначала откройте "настройка", щелкните правой кнопкой мыши и создайте новую папку и дайте ей имя"Project1Branch").
- щелкните правой кнопкой мыши на "Myproject1"....TortoiseSVN - > Ветка / Тег.
- выбрать рабочую копировать.
- открыть браузер....Как раз справа от параллели на "URL".
- выберите Настройки.....щелкните Добавить папку. и пройдите через папку, которую вы создали. Вот это и есть "Project1Branch". Теперь нажмите кнопку ОК, чтобы добавить.
- возьмите проверку этого нового banch.
- снова перейдите к проекту, ветку которого вы хотите создать. Щелкните правой кнопкой мыши TorotoiseSVN - > branch / tag. Затем выберите рабочая копия. И вы можете дать URL-адрес в качестве имени филиала. как {ваш IP-адрес / svn/AAAA/Customization / Project1Branch}. И вы можете установить имя в URL, чтобы он создал папку только с этим именем. Например {ваш IP-адрес / svn/AAAA/Customization/Project1Branch / MyProject1Branch}.
- Нажмите кнопку OK. Теперь вы можете увидеть вход в систему ...ваша рабочая копия будет храниться в вашем филиале.
- теперь вы можете взять чек...и пусть Вам понравится ваша работа. :)
Comments