Подвижная установка: Один центральный repo или несколько?

Моя компания переключается от Подверсии до Подвижного. Мы используем.NET для нашего продукта. У нас есть решение приблизительно с дюжиной проектов, которые являются отдельными модулями без зависимостей друг от друга. Мы используем центральный repo на сервере с нажатием/получением по запросу для нашей сборки интеграции.

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

Я очень плохо знаком с hg и DVCS, таким образом, некоторое руководство значительно ценится.

ETA: По hginit.com говорит Joel:

[I] f Вы привыкли иметь один большой гигантский репозиторий для целой компании, где некоторые люди только проверяют и работают над подкаталогами, о которых они заботятся, это не очень хороший способ работать с Подвижным — Вы - более обеспеченное наличие большого количества репозиториев меньшего размера для каждого проекта.

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

9
задан Robert S. 2 April 2010 в 15:37
поделиться

4 ответа

Вы должны принять во внимание одну вещь: Mercurial не поддерживает проверку каталогов, как это делает subversion. Одна типичная установка Subversion - иметь одно гигантское репо с несколькими отдельными проектами в нем, и когда кому-то нужен код, он просто проверяет подкаталог, содержащий этот проект. Вы не можете сделать это в ртути. Вы либо берете все репо, либо ничего. Если всем, кто работает над этими проектами, не всегда нужен весь код, вы можете разделить его на отдельные репозитории.

РЕДАКТИРОВАТЬ: Эта ссылка может быть полезна при настройке, в частности, при настройке раздела «Публикация нескольких репозиториев».

5
ответ дан 4 December 2019 в 23:38
поделиться

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

1
ответ дан 4 December 2019 в 23:38
поделиться

Из моего опыта, а не на основании исследований и т.д., я бы сказал, что каждый логический блок - это репозиторий. Если вы делитесь кодом между подпроектами, они должны быть в одном репозитории. Будет будет полная функциональность подрепо, но в настоящее время (апрель 2010) она не полностью реализована.

0
ответ дан 4 December 2019 в 23:38
поделиться

Я сам новичок в Mercurial (моя компания делает скачок с SourceSafe), поэтому я не знаю, что еще опыт сказал бы.

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

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

Mercurial отлично справляется с слиянием, но у меня возникли проблемы с файлом решения при слиянии и добавлении более чем одного проекта за раз. Его путают с несколькими строками End Project . Итак, пока вы не добавляете новые проекты очень часто, ваши слияния должны быть плавными.

0
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

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