Как создать ветку?

Как мне создать ветку в SVN?

Ответов (10)

Решение

Разветвлению в Subversion способствует очень легкая и эффективная функция копирования.

Ветвление и тегирование практически одинаковы. Просто скопируйте всю папку из репозитория в другое место репозитория с помощью svn copy команды.

В основном это означает, что копирование папки подразумевается по соглашению - будь то резервная копия, тег, ветка или что-то еще. В зависимости от того, как вы хотите думать о вещах (обычно в зависимости от того, какой инструмент SCM вы использовали в прошлом), вам необходимо настроить структуру папок в своем репозитории для поддержки вашего стиля.

Общие стили должны иметь кучу папок в верхней части хранилища под названием tags, branches, trunk и т.д. - что позволяет копировать все ваши trunk (или суб-наборы) в tags и / или branches папку. Если у вас более одного проекта, вы можете воспроизвести такую ​​структуру для каждого проекта:

Чтобы привыкнуть к этой концепции, может потребоваться некоторое время, но она работает - просто убедитесь, что вы (и ваша команда) четко понимаете соглашения, которые вы собираетесь использовать. Также неплохо иметь хорошее соглашение об именах - что-то, что говорит вам, почему ветка / тег была создана и подходит ли она по-прежнему, - подумайте о способах архивирования устаревших ветвей.

Если вы даже планируете объединить свою ветку, я настоятельно рекомендую вам взглянуть на это:

Svnmerge.py

Я слышал, что Subversion 1.5 встраивает больше средств отслеживания слияния, но у меня нет в этом опыта. Мой проект находится на 1.4.x, а svnmerge.py спасает жизнь!

Обычно вы копируете его в svn + ssh: //host.example.com/repos/project/branches/mybranch, чтобы вы могли сохранить несколько веток в репозитории, но ваш синтаксис действителен.

Вот несколько советов о том, как настроить макет репозитория .

Предположим, вы хотите создать ветку из имени ствола (как «ТЕСТ»), а затем используйте:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
  • Создайте новую папку вне вашего текущего проекта. Вы можете дать ему любое имя. (Пример: у вас есть касса для проекта под названием «Настройка». И в нем много проектов, таких как «Project1», «Project2» .... И вы хотите создать ветвь «Project1». Итак, сначала откройте « Настройка », щелкните правой кнопкой мыши и создайте новую папку с именем« Project1Branch »).
  • Щелкните правой кнопкой мыши "Myproject1" .... TortoiseSVN -> Branch / Tag.
  • Выберите рабочую копию.
  • Откройте браузер .... Как раз справа от параллели по "To URL".
  • Выберите настройку ..... щелкните правой кнопкой мыши, затем «Добавить папку». и пройдите по созданной вами папке. Вот он «Project1Branch». Теперь нажмите кнопку ОК, чтобы добавить.
  • Взгляните на эту новую лавку.
  • Снова перейдите в свой проект, ветку которого вы хотите создать. Щелкните правой кнопкой мыши TorotoiseSVN -> ветка / тег. Затем выберите рабочую копию. И вы можете указать URL-адрес в качестве имени вашей ветки. например {ваш IP-адрес / svn / AAAA / Customization / Project1Branch}. И вы можете установить имя в URL-адресе, чтобы папка создавалась только с этим именем. Например, {Ваш IP-адрес / svn / AAAA / Customization / Project1Branch / MyProject1Branch}.
  • Нажмите кнопку ОК. Теперь вы можете видеть логи ... ваша рабочая копия будет храниться в вашей ветке.
  • Теперь вы можете оформить заказ ... и позволить вам наслаждаться своей работой. :)
svn cp /trunk/ /branch/NEW_Branch

Если у вас есть некоторые локальные изменения в стволе, используйте Rsync для синхронизации изменений

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch

Если ваше репо доступно через 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; это может немного помочь в быстром получении правильных URL-адресов.

Выполнить, svn info чтобы отобразить полезную информацию о текущей извлеченной ветке.

URL-адрес должен (если вы запустите svn в корневой папке) предоставить вам URL-адрес, с которого вам нужно скопировать.

Также, чтобы переключиться на только что созданную ветку, используйте svn switch команду:

svn switch http://my.repo.url/myrepo/branches/newBranchName

Ниже приведены шаги по созданию ответвления из ствола с помощью TortoiseSVN на компьютере с Windows. Очевидно, что для этого необходимо установить клиент TortoiseSVN.

  1. Щелкните правой кнопкой мыши обновленную магистраль с локальной машины Windows
  2. Выберите TortoiseSVN
  3. Нажмите ветку / тег
  4. Выберите путь «Кому» в репозитории SVN. Обратите внимание, что целевой URL обновляется в соответствии с указанным путем и именем ветки.
  5. Не создавайте папки внутри веток в браузере репозитория
  6. Добавить путь веток. Например, филиалы /
  7. Добавьте содержательное сообщение журнала для вашей справки
  8. Нажмите ОК, это создаст новую папку в локальной системе.
  9. Оформить заказ ветку, созданную в новую папку

Создайте новую ветку, используя 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"