Работа с Tortoise SVN. Часть 2
26.10.2006
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 с сохранением структуры каталогов.
- Становимся на папку mytheme
- Выбираем impot. И, ВНИМАНИЕ, в диалоговом окне в URL репозитория обязательно добавляем каталог mytheme, иначе добавится содержимое mytheme но сам каталог не появится в репозитории.
Не стесняйтесь дописать нужные каталоги в URL репозитория в диалоге импорта. Несуществующие каталоги создадуться в репозитории автоматически.
2. Теперь, чтобы продолжить работать с файлами, которые мы импортировали, необходимо сделать checkout. В части 1 я писал, что checkout невозможно сделать в каталог из которого делался import в репозиторий. Потому что subversion не позволяет переписать неверсионные файлы файлами из репозитория.
Для этого необходимо удалить локальную папку mytheme, и, находясь в каталоге themes сделать checkout.
Обратите внимание, что во время chekout, в диалоговом окне, путь должен оканчиваться themes и не должен содержать каталог mytheme. Иначе возьмуться только файлы из mytheme, а сам каталог mytheme не создастся локально.
Можно продолжать работать.
Ссылки по теме:
Entry Filed under: Subversion, Управление проектом. Метки: инструменты.
3 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
1.
Денис | 05.03.2008 at 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 at 16:08
CommitMonitor малнькая программа которая висит в трэе и пингует SVN репозиторий на наличие новых комитов
http://tools.tortoisesvn.net/CommitMonitor
3.
Aryeh | 30.10.2008 at 12:18
Спасибо!!! Начинаю работать с СВН и Ваши посты оччень помогли!!!