Мой текущий проект разбит на 3 части: веб-сайт, настольный клиент и плагин для сторонней программы. Первоначально мы начали с Subversion для нашего источника управления, но решили попробовать Mercurial после прочтения итогового поста Joel Spolsky. Учитывая, что мы до сих пор не использовали большинство потенциальных возможностей svn, мы решили начать с новых базовых идей о том, как работает управление версиями, что облегчит этот переход.
Однако, после настройки нашего исходного репозитория, мы потеряли то, как тегирование и ветвление должны работать над таким проектом.
По сути, мы одновременно работаем над всеми тремя этими частями. Мы хотим, чтобы релиз представлял собой комбинацию из трех частей. В настоящее время мы работаем в одном хранилище.
Для части Plug-in мы закончили первую итерацию, которую мы называем Plug-In v0.1. Для первой официальной сборки двух других частей мы также хотели бы называть их веб-сайтом v0.1 и Desktop Client v0.1. Когда все три части находятся в v0.1, мы хотели бы иметь полный проект v0.1.
Наша проблема заключается в том, что мы не уверены, как управлять всем этим в репозитории Hg. Будет ли лучший способ справиться с этим, чтобы создать 3 отдельных репозитория для 3 стабильных версий, а затем еще 3 хранилища для текущих разработок? В настоящее время мы имеем все это в одном хранилище. Должны ли мы делать это в ветвях (это ветки, отличные от клонирующих репозиториев?) И теги?
Любая помощь очень ценится.