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