Работа с Tortoise SVN. Часть 2

26.10.2006 at 07:10 7 комментариев

Tag это вовсе и не tag, а branch

Об этом хорошо написано в документации. Просто поясню в двух словах. При помощи tag или label (для MS VSS) можно пометить срез репозитория на текущий момент. Это позволяет позже получить состояние репозитория на момент создания тэга. Это удобно если надо «зафиксировать» очередной выпуск продукта, чтобы при необходимости можно было вернуться к нему. Надо сказать из MS VSS, CVS и Subversion, последний наиболее точно фиксирует состояние репозитория.

Но в Subversion нет выделенного понятия Tag. Вместо этого можно создать Branch, потому что он также фиксирует состояния репозитория, и все последующие изменения в репозитории не затрагивают branch.

Branch практически не увеличивает размер репозитория, потому что использует лишь ссылки.

Единственное, для того чтобы отличить branch который тэг от настоящего branch рекомендуется в репозитории создавать две папки braches и tags. (Рекомендуемая структура репозитория описана в первой части.) В первой создаем настоящие ветки для внесения новой функциональности, а во второй ветки-тэги.

Хранение в репозитории части проекта

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

Добавление в репозиторий части проекта

В принципе речь пойдет об импорте и check out только нужных каталогов.

Предположим, что у нас в каталоге d:\projects\project1\ находятся файлы системы, в рамках которой мы работаем.

1. Мы добавляем локальную папку d:\projects\project1\themes\mytheme, в репозиторий.
Для этого делаем import с сохранением структуры каталогов.

  1. Становимся на папку mytheme
  2. Выбираем impot. И, ВНИМАНИЕ, в диалоговом окне в URL репозитория обязательно добавляем каталог mytheme, иначе добавится содержимое mytheme но сам каталог не появится в репозитории.

Не стесняйтесь дописать нужные каталоги в URL репозитория в диалоге импорта. Несуществующие каталоги создадуться в репозитории автоматически.

2. Теперь, чтобы продолжить работать с файлами, которые мы импортировали, необходимо сделать checkout. В части 1 я писал, что checkout невозможно сделать в каталог из которого делался import в репозиторий. Потому что subversion не позволяет переписать неверсионные файлы файлами из репозитория.

Для этого необходимо удалить локальную папку mytheme, и, находясь в каталоге themes сделать checkout.

Обратите внимание, что во время chekout, в диалоговом окне, путь должен оканчиваться themes и не должен содержать каталог mytheme. Иначе возьмуться только файлы из mytheme, а сам каталог mytheme не создастся локально.

Можно продолжать работать.

Ссылки по теме:

Technorati tags: ,
Реклама

Entry filed under: Управление проектом, Subversion. Tags: .

Работа с Tortoise SVN. Часть 1 Мозг и мышка

7 комментариев Add your own

  • 1. Денис  |  05.03.2008 в 11:24

    Бесплатный SVN плугин к Visual Studio 2008 —
    http://garrys-brain.blogspot.com/2007/07/tortoisesvn-and-visual-studio.html

    Платный — VisualSVN (www.visualsvn.com)

    Ответить
  • 2. Денис  |  08.04.2008 в 16:08

    CommitMonitor малнькая программа которая висит в трэе и пингует SVN репозиторий на наличие новых комитов
    http://tools.tortoisesvn.net/CommitMonitor

    Ответить
  • 3. Aryeh  |  30.10.2008 в 12:18

    Спасибо!!! Начинаю работать с СВН и Ваши посты оччень помогли!!!

    Ответить
  • 4. Владимир  |  06.11.2009 в 15:54

    Доброго времени суток!!
    А как «раскоммитить» папку, так, чтобы на сервере SVN ее небыло, а на локальном диске она осталась.

    Копирование и удаление не интересно, так как фишка в скрытых папках .svn, которые остаются локально и очень много весят.

    Ответить
  • 5. Aliaksei  |  06.11.2009 в 17:46

    Хороший вопрос, я бы попробовал добавить папку в ignore list. ДО него можно добраться если в кликнуть на свойства в родительской папке, там есть кнопка Edit которая позволяет редактировать ignore list. Признаюсь у меня не получилось, папка осталась под контролем SVN, но может появится идея как применить этот ingore list?

    Ответить
  • 6. crynano  |  21.07.2011 в 22:31

    По идее нужно сделать export в нужную папку, там появится «чистый» проект, без папок .svn

    Ответить
  • 7. Виталий  |  13.01.2017 в 10:30

    Доброго времени суток.
    Подскажите как правильно прописать команду TortoiseProc.exe /command:checkout /-depth empty /path:ХХХ.
    Мне нужно извлечь репозиторий с глубиной «только этот компонент», но не вручную, а через командную строку.

    Ответить

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Subscribe to the comments via RSS Feed


Google Custom Search Engine

Мой GCE по ASP.NET блогам
Все желающие могут добавлять в него блоги и сайты по asp.net и вебпрограммной тематике

Свежие записи

RSS Некоторые посты из блогов, которые я читаю

  • Произошла ошибка; возможно, лента недоступна. Повторите попытку позже.

Страницы

Октябрь 2006
Пн Вт Ср Чт Пт Сб Вс
« Авг   Янв »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

%d такие блоггеры, как: