2010-02-11 3 views
1

Я использую subversion для хранения решений Visual Studio. До сих пор я всегда сохранял все решение в одной папке с внешней папкой с одной папкой тегов для хранения версий всего решения.Как я могу отслеживать версию каждого проекта в решении Visual Studio с использованием единственного репозитория SVN?

\trunk\ 
\tags\1.0\ 
\tags\1.0\ 
\tags\3.0\ 

решения Мои VS до сих пор, как правило, содержится только один проект, и если они содержат более одного проекта он все еще не намного больше, чем один. Когда я закончил «официальный» выпуск, я создавал теги всего решения, независимо от того, какой проект действительно изменился.

Но теперь, когда я работаю над решением, которое содержит много проектов, я думаю, что я должен начать отслеживать версию каждого проекта отдельно. Каков предпочтительный способ настройки папок в репозитории SVN для этого? Я видел такие примеры.

\project1\trunk\ 
\project1\tags\1.0\ 
\project1\tags\2.0\ 
\project1\tags\3.0\ 
\project2\trunk\ 
\project2\tags\1.1\ 
\project1\tags\2.2\ 

Где я могу поместить файл решения (* .sln)? Мне не очень нравится эта настройка, так как я не вижу простого способа экспортировать последнее рабочее решение и все проекты, которые заканчиваются \ trunk \ папками в моей рабочей копии, или экспортировать каждый проект по отдельности, что похоже на боль.

ответ

0

Вы бы сделать что-то вроде этого:

// Solution file and all projects here in trunk. 
\world-domination\trunk\ 
\world-domination\trunk\volcano-lair   // <-- This is a sub-project. 
\world-domination\trunk\airborne-virus  // <-- This is a sub-project. 
\world-domination\trunk\orbital-space-station // <-- This is a sub-project. 
// ... 

// Tags are named after the sub-project... 
\world-domination\tags\volcano-lair-1.7.4 
\world-domination\tags\airborne-virus-3.6 
\world-domination\tags\orbital-space-station-5.2 

// ... or the whole system. 
\world-domination\tags\1.0-release 

// But in either case they are snapshots of trunk. 
+0

Так '\ мирового господства \ теги \ Вулкан-логово-1.7.4' снимок' \ мирового господства \ ствол \ Вулкан-берлоге \ 'или все' \ world-domination \ trunk \ '? –

+0

Это все \ world-domination \ trunk. Не делайте снимки чего-либо меньшего, чем \ trunk, потому что Subversion не позволяет легко определить, что представляет собой моментальный снимок _of_. Тег - это просто указатель на конкретное состояние, поэтому в современных версиях 'svn' это занимает гораздо меньше места, чем копирование самих файлов. –

Смежные вопросы