Структура репозитория
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.04.05 06:51
Оценка: 9 (2) +1
#Имя: FAQ.janus.repository
Я вижу что не все поняли идеи, поэтому расскажу немножко, как полагается в SVN строить репозиторий и почему к этому мигрирует репозиторий януса. Для начала документ, это описывающий:

4.3.1. Repository Layout
Before you import your data into the repository you should first think about how you want to organize your data. If you use one of the recommended layouts you will later have it much easier.

There are some standard, recommended ways to organize a repository. Most people create a trunk directory to hold the "main line" of development, a branches directory to contain branch copies, and a tags directory to contain tag copies. If a repository holds only one project, then often people create these top-level directories:

/trunk
/branches
/tags

If a repository contains multiple projects, people often index their layout by branch:

/trunk/paint
/trunk/calc
/branches/paint
/branches/calc
/tags/paint
/tags/calc

...or by project:

/paint/trunk
/paint/branches
/paint/tags
/calc/trunk
/calc/branches
/calc/tags

Indexing by project makes sense if the projects are not closely related and each one is checked out individually. For related projects where you may want to check out all projects in one go, or where the projects are all tied together in a single distribution package, it is often better to index by branch. This way you have only one trunk to checkout, and the relationships between the sub-projects is more easily visible.

If you adopt a top level /trunk /tags /branches approach, there is nothing to say that you have to copy the entire trunk for every branch and tag, and in some ways this structure offers the most flexibility.

For unrelated projects you may prefer to use separate repositories. When you commit changes, it is the revision number of the whole repository which changes, not the revision number of the project. Having 2 unrelated projects share a repository can mean large gaps in the revision numbers. The Subversion and TortoiseSVN projects appear at the same host address, but are completely separate repositories allowing independent development, and no confusion over build numbers.

Of course, you're free to ignore these common layouts. You can create any sort of variation, whatever works best for you or your team. Remember that whatever you choose, it's not a permanent commitment. You can reorganize your repository at any time. Because branches and tags are ordinary directories, TortoiseSVN can move or rename them however you wish.

Switching from one layout to another is just a matter of issuing a series of server-side moves; If you don't like the way things are organized in the repository, just juggle the directories around.

So if you haven't already created a basic folder structure inside your repository you should do that now:

create a new empty folder on your hard drive

create your desired top-level folder structure inside that folder — don't put any files in it yet!

import this structure into the repository via a right click on the folder and selecting Import... from the context menu. This will import your temp folder into the repository root to create the basic repository layout.


Note that the name of the folder you are importing does not appear in the repository, only its contents. For example, create the following folder structure:

C:\Temp\New\trunk
C:\Temp\New\branches
C:\Temp\New\tags

Import C:\Temp\New into the repository root, which will then look like this:

/trunk
/branches
/tags


You can also use the repository browser to create new folders directly in the repository.


Перевод нужен?

В соответствии с этим документом репозиторий януса ныне изменился — основная ветка проекта теперь в ветке trunk. В ветке tags будут располагаться некие эпохальные копии репозитория — прежде всего публичные релизы. С переходом на .NET 2.0 появится ветка branches и в ней старая версия под 1.1, на случай если вылезут какие то критичные баги (вроде бага 1.1.3 с именами форумов).
Еще раз:
Для сборки текущей версии нужно делать чекаут по адресу svn://rsdn.ru/Janus/trunk.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
AVK Blog
Re: Структура репозитория
От: akasoft Россия  
Дата: 22.04.05 09:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я вижу что не все поняли идеи, поэтому расскажу немножко, как полагается в SVN строить репозиторий и почему к этому мигрирует репозиторий януса. Для начала документ, это описывающий:


Лучше бы ты своими словами написал, хелп читать — это же неблагодарное дело. Сразу скажу, я его читал, а также перевод по cvs для пущего понимания, раздел про создание ветвей.

Я вот что-то не въезжаю, зачем бренчи нужны? Если в трунках держать генеральную линию, в теги складывать релизы/беты (хотя, можно ограничиться и ревизией с комментарием, в принципе), то зачем бренчи? И почему это не те же теги, только вид с боку?
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
Re[2]: Структура репозитория
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.04.05 09:44
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Я вот что-то не въезжаю, зачем бренчи нужны? Если в трунках держать генеральную линию, в теги складывать релизы/беты (хотя, можно ограничиться и ревизией с комментарием, в принципе), то зачем бренчи? И почему это не те же теги, только вид с боку?


Поясняю. Вот выпустили мы к примеру под 1.1 стабильный релиз и переползли на 2.0. А тем временем в в релизе для 1.1 обнаруживается баг. Что делать?
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
AVK Blog
Re[3]: Структура репозитория
От: akasoft Россия  
Дата: 22.04.05 10:12
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Поясняю. Вот выпустили мы к примеру под 1.1 стабильный релиз и переползли на 2.0. А тем временем в в релизе для 1.1 обнаруживается баг. Что делать?


Это объясняет, почему теги в отдельных папках, и зачем вообще нужны теги. Но с бенчами...

Скажем, объявили мы стаблю 1.5., папку под неё в тегах сделали, а в труке начали клепать генеральную линию под 2.0. Или как? появится подпапка в трунках для трунака 2.0?

Я так понимал трунк не клонируется, в тагах лежат смысловые версии, которые могут дорабатываться, и для этого они собственно и выделяются в папки. Но бренчи зачем? Чтобы подчеркнуть ещё большую смысловую уникальность? Эдакий переброс через версию, в аналогии a.b.c: смена b для тагов, но смена a — уже для бренчей.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
Re[4]: Структура репозитория
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.04.05 10:35
Оценка: 8 (1)
Здравствуйте, akasoft, Вы писали:

A>Это объясняет, почему теги в отдельных папках, и зачем вообще нужны теги. Но с бенчами...


Ты видимо путаешь тег и бенч. Тег это просто пометка какой то ревизии, бренч это когда ведется отдельная ветвь разработки параллельно основной.

A>Я так понимал трунк не клонируется, в тагах лежат смысловые версии, которые могут дорабатываться,


Нет, то что лежит в тегах уже никогда не меняется.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
AVK Blog
Re[5]: Структура репозитория
От: akasoft Россия  
Дата: 22.04.05 10:44
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Нет, то что лежит в тегах уже никогда не меняется.


Это запрещено физически или логически? Всё же можно извлечь из репозитория и залить обратно изменённым. И ревизия, по моему, сквозная будет.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
Re[6]: Структура репозитория
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.04.05 10:56
Оценка:
Здравствуйте, akasoft, Вы писали:

AVK>>Нет, то что лежит в тегах уже никогда не меняется.


A>Это запрещено физически или логически?


Логически. Физически никакой разницы между тегом, бренчем и обычным каталогом нет.

A>И ревизия, по моему, сквозная будет.


К сожалению да.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
AVK Blog
Re[3]: Структура репозитория
От: HotDog Швейцария www.denebspace.com
Дата: 25.04.05 07:10
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:


AVK>Поясняю. Вот выпустили мы к примеру под 1.1 стабильный релиз и переползли на 2.0. А тем временем в в релизе для 1.1 обнаруживается баг. Что делать?


Посоветовать пользователю поставить 2.0 фреймворк и обновить версию через мейлер Шеридана
Ну это так.. шутка

Идея то она конечно верная все эти бранчи, теги и тд, только вот я думаю что применительно к Янусу все это лишние телодвижения. Насколько я помню основным предположением было, что пользователи януса это девелоперы, а они и подавно сидят на последних версиях фреймворка и т.п.
Re[4]: Структура репозитория
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.04.05 08:18
Оценка:
Здравствуйте, HotDog, Вы писали:

HD>Идея то она конечно верная все эти бранчи, теги и тд, только вот я думаю что применительно к Янусу все это лишние телодвижения.


Я тоже раньше так думал. Однако, как показала практика, все таки совсем не лишние. 1.3.1 stable нет именно из-за отсутствия бренча на нее.
... << RSDN@Home 1.1.4 beta 6 rev. 430>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.