У меня есть несколько проектов с разными циклами выпуска, которые находятся в моем репозитории SVN. Релизы создаются с использованием классической структуры тегов в SVN. Когда есть ошибки, которые нужно исправить в выпусках, ветка создается из тега, ошибка исправляется, а затем объединяется оттуда в транк.
Теперь по нескольким причинам я хочу перейти с SVN на Mercurial с центральным push-сайтом.
Вопрос: Какой наилучший способ в Mercurial организовать несколько проектов, которые совместно используют мало кода между ними? Должен ли я создать несколько push-сайтов, по одному для каждого проекта?
Пожалуйста, включите в ответ описание о том, как воссоздать мой релиз-тег, ветку исправления ошибок ... с вашей предпочтительной версией дизайна хранилища.
Редактировать: Я хотел бы установить как можно меньше расширений.
Edit2:
Учитывая это расположение SVN:
.
|-- project-a
| |-- branches
| | |-- 1.x
| | `-- feature-1
| |-- tags
| `-- trunk
`-- project-b
|-- branches
|-- tags
| |-- 1.0
| `-- 1.1
`-- trunk
(спасибо @bendin! :))
Лучше ли работать с несколькими репозиториями hg push
project_a-trunk
project_a-1.x
project_a-feature-1
project_b-trunk
для филиалов. Теги складываются в соответствующую ветку.
Или вы бы предпочли использовать два push-репозитория в этом примере
project_a
project_b
с именованными ветвями и, следовательно, несколькими головами в одном репо.
Преимущество репо с несколькими головами заключается в том, что мне не нужно искать тег в нескольких репо. Недостаток, который я вижу, заключается в том, что книга hg, по-видимому, препятствует множественному репо. Что бы вы делали?