Хороший рабочий процесс Mercurial для команды из 15 разработчиков - PullRequest
5 голосов
/ 24 августа 2010

Я в команде из 15 разработчиков, в настоящее время использующих Allfusion Harvest.Мы не довольны этим и, оглядываясь вокруг, решили перейти на Mercurial из-за доступных интерфейсов TortoiseHg и MercurialEclipse.

В настоящее время мы используем двенадцатилетнюю версию Harvest, и я нахожу нашуРабочий процесс трудно перевести на Mercurial.У меня есть предыдущий опыт работы с ClearCase, где мы использовали модель, подобную:

A  A  A
|  |  |
B  C  |
| /|  |
C  |  E
|  | /  
D  E
| /
E

Где левый ствол неустойчивый , средний тест и правый стабильный .Теперь у меня нет проблем с воссозданием этой модели ветвления в Mercurial (в одном центральном хранилище).Идея состоит в том, что разработчики затем клонируют этот репозиторий, разветвляются из unstable , выполняют свою работу и затем объединяются с unstable .Читая в Интернете, я еще не видел рабочий процесс Mercurial, ориентированный на команды, в которых больше трех разработчиков, поэтому я не уверен, что это хороший рабочий процесс.

Итак, два вопроса:

Это хорошая рабочая модель?

Как вы работаете с Mercurial и сколько их в вашей команде?

РЕДАКТИРОВАТЬ: С тех пор, как спросил этовопрос Я использовал оба Gitflow и Github flow .Оба были полезны в зависимости от сложности релиза и размера команды.А при использовании Mercurial я прекратил использовать ветки (для стабильных / нестабильных) и использовал вместо этого закладки под влиянием Git.

Ответы [ 2 ]

5 голосов
/ 24 августа 2010

Здесь, в Fog Creek, мы используем похожий рабочий процесс, с одним существенным отличием.Поскольку в Mercurial нет действительно легких веток (именованные ветки сохраняют свое имя даже после слияния), мы склонны использовать несколько репозиториев для наших веток.Я обнаружил, что это облегчает понимание того, над какой ветвью вы работаете, а также затрудняет случайное слияние между ветвями, поскольку каждая из ваших веток может иметь свои собственные специальные ветки.

Вместо этого у нас есть репозитории Stable, QA и Devel, с которыми мы работаем.Работа с компонентами идет в Devel и объединяется в QA и Stable, а исправления ошибок - в Stable и QA, а затем возвращаются в Devel.

Многие наши разработчики также имеют собственные репозитории для более длительных проектов.или что-то, над чем они работают, может нарушить чужой код.

У некоторых наших разработчиков каждая ветка находится в отдельном каталоге, поэтому они явно переключаются с одного на другой.Другие предпочитают использовать все три в одном репо, используя расширение remote-branch для управления различными головами.

Это доставило нам немало хлопот, когда мы использовали базовый hg serve для размещения наших репо, так как для создания нового репо devel или переименования репо требуется системный администратор.Это одна из причин того, почему мы сделали это, чтобы каждый мог создавать репозитории филиалов в Kiln .

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

1 голос
/ 24 августа 2010
  • Насколько я знаю, ваш рабочий процесс в порядке.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...