Структура директорий в source control

6yrop

В Subversion существует всем известное соглашение о трех директориях
trunk
branches
tags

Очень часто все бранчи четко делятся на два разных класса
- Release Branches
- Feature Branches
Это описано даже в известном учебнике по Subversion http://svnbook.red-bean.com/nightly/ru/svn-book.html#svn.bra...
На мой взгляд, было бы гораздо удобнее отразить этот факт в структуре директорий
trunk
ReleaseBranches
FeatureBranches
tags

Почему так не делают?
Более того, в рекомендациях к TFS фактически прослеживается такая структура директорий, отличие только в названиях дерикторий
trunk == MAIN
ReleaseBranches == PRODUCTION
FeatureBranches == DEV
tags == SafeKeeping
http://branchingguidance.codeplex.com/Wiki/View.aspx?title=M...
Но, на мой взгляд, названия для Subversion лучше отражают суть.

Ivan8209

Есть такое слово --- "совместимость."
---
...Я работаю антинаучным аферистом...
P.S. А чем различаются твои "feature branches" и "release branches"?

rosali

да ничего в этих trunk/branches/tags особо стандартного нету мне кажется. просто когда человеку надо объяснить что такое svn (а он возможно уже знаком с cvs? то эта конструкция оказывается удобной. мол если у вас всё просто, можете всё в общей помойке держать, пожалуйста, svn это позволяет (trunk). а если хотите по взрослому, тогда можете "как в cvs" делать (branches/tags).
ну а дальше когда люди маленько освоились, начинают пользоваться кто во что горазд.
например, если хватает здоровья под каждую фичу и под каждый релиз заводить бранч, то зачем тогда вообще trunk? ;) или вот я допустим tags не считаю чем-то фундаментальным, что это за такие особенные бранчи, в которые не надо багфиксы бэкпортить (сорри фо май инглиш)? кстати помимо релизных и фичных бранчей еще некоторые пользуются "персональными".

Ivan8209

> или вот я допустим tags не считаю чем-то фундаментальным, что
> это за такие особенные бранчи, в которые не надо багфиксы
> бэкпортить (сорри фо май инглиш)?
Вы уже собранные пакеты не выпускаете совсем?
---
"This user is BSD-compliant."

rosali

ну специфика вебпроектов конешно, но да, ничего не раздаем "с концами". бывает что где-то работает старая версия чего-то и загрейдиться (пока) нельзя, но уж ошибки исправлять обычно можно.
ну я понял теперь примерно зачем tags нужны :) спасибо!

Ivan8209

В этом смысле все эти новомодные системы обладают серьёзным
недостатком: они не различают точки в истории от направлений
развития. С одной стороны, это упрощает реализацию, а с другой,
это никак не препятствует совершению ошибок.
---
"...Видный ретроград-новатор."

rosali

"новомодные" это в смысле не cvs? =)
"точки истории" в svn конечно же есть, они называются ревизии. они цифровые, что может кому-то показаться неудобным, но по мне так наоборот, можно svn-ную ревизию писать в версию собираемого пакета.

Ivan8209

С ними неудобно работать, как и со остальными чисто цифровыми
обозначениями.
---
"Всё определяется мерой, числом и весом."

6yrop

помимо релизных и фичных бранчей еще некоторые пользуются "персональными".
в принципе, да. Но все же релизные ветки желательно не смешивать с девелоперскими. Тогда название для FeatureBranches можно заменить на DevBranches. T.е. название этой директории позаимствовали из соглашений для TFS

trunk
ReleaseBranches
DevBranches
tags
Оставить комментарий
Имя или ник:
Комментарий: