Здесь, в Fog Creek, мы используем похожий рабочий процесс, с одним существенным отличием.Поскольку в Mercurial нет действительно легких веток (именованные ветки сохраняют свое имя даже после слияния), мы склонны использовать несколько репозиториев для наших веток.Я обнаружил, что это облегчает понимание того, над какой ветвью вы работаете, а также затрудняет случайное слияние между ветвями, поскольку каждая из ваших веток может иметь свои собственные специальные ветки.
Вместо этого у нас есть репозитории Stable, QA и Devel, с которыми мы работаем.Работа с компонентами идет в Devel и объединяется в QA и Stable, а исправления ошибок - в Stable и QA, а затем возвращаются в Devel.
Многие наши разработчики также имеют собственные репозитории для более длительных проектов.или что-то, над чем они работают, может нарушить чужой код.
У некоторых наших разработчиков каждая ветка находится в отдельном каталоге, поэтому они явно переключаются с одного на другой.Другие предпочитают использовать все три в одном репо, используя расширение remote-branch для управления различными головами.
Это доставило нам немало хлопот, когда мы использовали базовый hg serve
для размещения наших репо, так как для создания нового репо devel или переименования репо требуется системный администратор.Это одна из причин того, почему мы сделали это, чтобы каждый мог создавать репозитории филиалов в Kiln .
Было бы неплохо, если бы у Mercurial была лучшая модель ветвления, и есть работа, которая поможетэто, но это то, что работает для нас.