Mercurial: как управлять общим / общим кодом - PullRequest
8 голосов
/ 06 мая 2009

Я использую Mercurial для личного использования и рассматриваю его для некоторых распределенных проектов в качестве альтернативы SVN по разным причинам.

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

Наиболее очевидный общий кусок кода - обработка ошибок и создание отчетов - мы хотим, чтобы это было почти одинаково во всех проектах (оно достаточно хорошо развито). Существует также служебный код, управляющие библиотеки и тому подобное, которые мы считаем лучше иметь в виде проектов, построенных с каждым решением, чем использовать их в качестве скомпилированных классов (не в последнюю очередь потому, что это гарантирует, что они обновляются, непрерывная интеграция помогает нам реагировать на серьезные изменения) .

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

Ответы [ 4 ]

3 голосов
/ 10 июля 2009

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

1 голос
/ 26 июля 2013

Мир изменился с тех пор, как я задал этот вопрос, и теперь я использую другое решение.

Теперь простой ответ - использовать пакеты (в частности, NuGet, как я .NET) для доставки общего кода вместо вложенных репозиториев и включения проектов в решение.

Итак, у меня есть общий код, встроенный в пакеты NuGet и размещенный с помощью TeamCity, и там, где раньше у меня был внешний и включал проект / источник, я бы сейчас просто ссылался на пакет.

0 голосов
/ 26 июля 2013

Подпозиторий (с хорошим гидом ) или Guestrepo"Преодолеть ... ограничения" (из подпунктов) является сегодняшним независимым от языка ответом

0 голосов
/ 06 мая 2009

Используйте расширение Forest , которое эмулирует внешние svn для HG, в некоторой степени это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...