Мы разрабатываем проект с закрытым исходным кодом, с версией Mercurial. В нашем проекте мы используем две библиотеки:
Одна из этих библиотек разрабатывается сторонней организацией. Они используют git, и мы обычно вынимаем их репо раз в неделю, чтобы получать последние изменения.
Другая библиотека разрабатывается нами и активно разрабатывается. Он должен жить в своем собственном публичном хранилище Mercurial, так как он лицензирован в соответствии с LGPL. (Это вилка стороннего компонента LGPL, портированного на нашу платформу)
Итак, мой вопрос: как мне организовать источник, чтобы обеспечить:
Разработчик из нашей команды должен иметь возможность получить весь исходный код (основной проект + библиотеки) с помощью одной команды "клонирования"
Мы должны иметь возможность легко извлекать последние изменения из библиотек, даже если одним из них управляет git
Должны ли мы использовать функциональность mercurial sub-repos с hg-git для доступа к библиотеке под git? Хорошо ли это поддерживается TortoiseHg и BitBucket? (плюсы: легко вытащить изменения библиотеки / минусы: хорошо ли это работает?)
Или мы должны хранить только снимки библиотек в нашем проекте? (Таким образом, когда в библиотеках появляются новые изменения в исходном коде, мы переносим их в отдельное место, а затем копируем весь исходный код в наш проект? разрабатываемый нами, который подвержен множеству ежедневных изменений)