В настоящее время мы используем Subversion и TeamCity, мы собираемся перейти к использованию Mercurial (в частности, Kiln, поскольку мы пользователи FogBugz).
Очевидно, что это приведет к изменениям - надеюсь, улучшениям - в наших шаблонах разработки (нас всех двое!), Но я сталкиваюсь с одной проблемой - как структурировать вещи так, чтобы мы все еще пользовались преимуществами непрерывной интеграции / нашего CI-сервера ( что есть и останутся выгоды, это само собой разумеющееся, обсуждение которого выходит за рамки этого вопроса).
В SVN мы используем ограниченное количество центральных репозиториев - по одному на каждый проект (более или менее одно решение Visual Studio), поэтому легко запустить сборку и получить подтверждение того, что все файлы были зафиксированы и что нет паразитные зависимости и т. д., и т. д. Но если мы собираемся принять правильное продвижение меркуриала, нам нужно иметь больше экземпляров репозитория - где я ожидаю, что изменения, как правило, будут направлены к окончательному «живому» репо. Проблема, с которой я борюсь, заключается в том, что живое репо кажется мне слишком «запоздалым», чтобы запускать мои сборки CI OTOH, одна сборка CI на проект на разработчика, вероятно, чрезмерна (и вызывает другие проблемы).
Я немного ловлю рыбу, но это потому, что одна из вещей, которую дает центральный репозиторий Subversion (я, с нашей настройкой!), Это большая ясность о том, что и когда строить.
nb Я не спрашиваю о механике использования Mercurial с непрерывной интеграцией - у меня есть работа с личным проектом, его шаблоны и структуры, а также рабочая практика / рабочий процесс, который я пытаюсь обдумать.