Полная версия

OSS Group


Авторизация

  

Навигация

Текущее местоположение:  OSS Group :: Wiki :: Admin :: Теги и ветви в Subversion
Главное меню:   Главная   Документация   Разработка   Контакты   Поиск   Карта сайта   Wiki   Блоги
Разделы Wiki:   Admin  APT  Sandbox

Теги и ветви в Subversion

Общие замечания по версиям, ветвям и тегам.

Особенности Subversion:

 XXX --- trunk -- dir1                 # Основная ветвь проекта (HEAD)
      |        `- dir2
      |
      |--branches                      # Ветви проектов 
      |         | 
      |         |--branch_A -- dir1
      |         |           `- dir2
      |         |
      |         `--branch_B -- dir1
      |                     `- dir2 
      |
      `--tags                         # Теги 
           |
           `-----version_A -- dir1
                           `- dir2

В начале проекта в репозитории создаётся каталог проекта XXX и подкаталоги trunk, branches, tags. Основная ветвь разработки проекта хранится в директории trunk. При необходимости создания ветви разработки выполняется команда svn copy trunk branches/branch_A. Возможно выполнении копирования непосредственно с URL репозитария. В последствии, при необходимости получения рабочей копии, возможно получение отдельно как trunk, так и branch_A и работа с ними по-отдельности: svn checkout file://repository/branches/branch_A. Т.к. Subversion было указано, что branch_a - копия trunk, возможно получение изменений произвольной версии branch_a по сравнению с trunk.

Работа с ветвями и тегами в Subversion

Создание ветви/тега

$ svn copy trunk branches/branch
$ svn commit
... или ...
$ svn copy <URL/trunk> <URL/branches/branch>

Отслеживание версий файла и изменений в нём

$ svn log --verbose <file>
$ snv log --verbose --stop_on_copy <file>
$ svn diff -r XXX:YYY <URL/trunk>

Слияние ветвей

$ svn merge -r XXX:YYY <URL/trunk>

Для слияния ветвей следует использовать именно merge, т.к. diff не отслеживает удаление/добавление файлов и директорий.

Для предпросмотра возможных изменений можно использовать

 $ svn merge –dry-run -r XXX:YYY <URL/branches/branch>

Получение заданной версии ветви

 $ svn checkout -r XXX <URL>
 $ svn switch -r XXX <URL>

Этот путь отличается от checkout отсутствием необходимости выкачивать _всё_ дерево, передаются только изменения.

Удаление ветви

Выполняется как удаление каталога с ветвью. Естественно, удалённую ветвь можно восстановить, получив её существовавшую версию.

 $ svn remove <URL/branches/branch>

Дата создания: 2006-05-24 12:24:31 (Фетисов Н. А. (naf))
Последнее изменение: 2006-07-16 14:55:40 (Фетисов Ф. А. (faf))
Владелец: Фетисов Н. А. (naf)
Версия: 2  Все версии


  Не показывать комментарии


Wiki::Admin   Карта раздела  Оглавление  Изменения за сутки  Изменения за неделю  Изменения за месяц



Быстрый поиск по Wiki:
И ИЛИ

На эту страницу ссылаются:

©2006-2024 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы