Подвижная Стратегия Меток/Ветвления

Мой текущий проект разломан на 3 части: Веб-сайт, Настольный Клиент и Плагин для сторонней программы. Мы начали первоначально с Подверсией для нашего управления исходным кодом, но решили попробовать Подвижный после того, чтобы читать заключительное сообщение Joel Spolsky. Рассмотрение нас действительно не использовало большинство потенциала svn прежде, мы изобразили запуск, новый с некоторыми основными идеями о том, как работавшее управление исходным кодом сделает этот переход легким.

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

По существу мы работаем над всеми 3 из этих частей одновременно. Мы хотим, чтобы выпуск был комбинацией этих 3 частей. В настоящее время мы работаем в одном репозитории.

Для Сменной части нам закончили первое повторение, которое мы называли Плагином v0.1. Для первой официальной сборки других двух частей мы также хотели бы назвать их Веб-сайтом v0.1 и Настольный Клиент v0.1. Когда все три части в v0.1, мы хотели бы иметь Полный Проект v0.1.

Наша проблема, мы не уверены, как управлять всем этим в репозитории Hg. Был бы лучший способ обработать это для создания 3 отдельных репозиториев для 3 стабильных версий и затем еще 3 репозиториев для текущих разработок? В настоящее время у нас есть это все в одном репозитории. Мы должны сделать это в ответвлениях (ответвления, несколько отличающиеся от клонирующихся репозиториев?) и теги?

Любая справка значительно ценится.

22
задан Michael Hackner 24 March 2010 в 19:39
поделиться

4 ответа

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

8
ответ дан 29 November 2019 в 05:13
поделиться

Я настоятельно рекомендую запись в блоге Стива Лоша A Guide to Branch to Mercurial , где он описывает несколько подходов к ветвлению, поддерживаемых Mercurial.

Использование функции именованных ветвей Mercurial, вероятно, ближе всего к ветвлению с помощью SVN.

19
ответ дан 29 November 2019 в 05:13
поделиться

Вы можете хранить их в одном репозитории или по отдельности. Для меня это будет зависеть от того, какая часть кода, если таковая имеется, используется совместно между приложениями. Если код не разделяется между компонентами, используйте разные репозитории для каждого из них.

Отдельные репозитории позволят вам легко пометить каждый компонент версией (v0.1), а затем продолжить разработку по мере необходимости. Когда вы будете готовы выпустить комбинированный продукт, просто извлеките нужный тег для каждого репозитория, и вы получите полный выпуск продукта. Если у вас есть результаты для приложения, которые не связаны ни с одним из трех компонентов, вы также можете создать репозиторий для объединенного продукта, чтобы хранить эти данные. Вы можете обрабатывать ветвление для каждого из компонентов через ветки или клонированные репозитории.

Если вы храните компоненты в одном репозитории, он все равно будет работать, но ваши теги и ветки станут намного сложнее. Когда плагин достигнет v0.1, создайте для него тег, например "plug-in v0.1". Сделайте то же самое для настольных компьютеров и веб-клиентов. Затем, когда вы хотите выпустить продукт, вам нужно будет извлечь из трех разных тегов, каждый компонент которых имеет версию v0.1.

Я бы предпочел отдельные репозитории. Решение усложняется, если есть общий код, но вы можете найти способы использовать свои зависимости как библиотеки, а не как код.

По вопросам о ветвлении, эта статья является хорошим руководством по различным вариантам и плюсам / минусам.

5
ответ дан 29 November 2019 в 05:13
поделиться

Попробуйте использовать Учебник Джоэла по Mercurial . Это может дать немного больше или о том, как его использовать. На самом деле не существует «ветвления», используемого в SVN, и на самом деле было бы неплохо перестать пытаться использовать Mercurial, как если бы это был SVN. Вместо ветвления у вас есть собственные локальные репозитории.

0
ответ дан 29 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: