Mercurial: Как управлять общим / общим кодом

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

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

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

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


person Murph    schedule 06.05.2009    source источник


Ответы (4)


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

person Ry4an Brase    schedule 10.07.2009

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

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

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

person Murph    schedule 26.07.2013

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

person ismail    schedule 06.05.2009
comment
Спасибо, посмотрю (это не совсем то, что я читал, но по этой причине я еще недостаточно читал ...) - person Murph; 07.05.2009
comment
Расширение Forrest никогда официально не поддерживалось, и теперь от него полностью избавляется поддержка подмодулей в Mercurial 1.3. - person Ry4an Brase; 10.07.2009
comment
И это повод меня обидеть? Когда я написал ответ, Mercurial 1.3 не было. вздох - person ismail; 12.07.2009
comment
Это не сбивает вас с толку; это занижает ответ. Это даже не снижает вашу репутацию. Предполагается, что Stackoverflow будет создавать живые документы, где лучший ответ падает, если его больше нет. Тем не менее, я всегда считал ForestExtension плохим советом (хотя, безусловно, с хорошими намерениями). - person Ry4an Brase; 17.07.2009

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

person Lazy Badger    schedule 26.07.2013