Hg: сторонний репозиторий внутри моего - с автоматическим извлечением? Как это решается? - PullRequest
3 голосов
/ 10 января 2012

Планировка земли (упрощенно):

Я владею репо / проектом Нечетко . Fuzzy зависит от другого проекта, Zazzy (скажем, это своего рода библиотека).Оба являются ртутными хранилищами.Дерево каталогов будет выглядеть следующим образом:

-+- Fuzzy /* root repo */
  \
   +- something_fuzzy_related.c
   |
   +- Zazzy /* that other repo */
    \
     +- a_rather_zazzy_library.so

Теперь, скажем, какая-то бедная душа решила проверить мой проект Fuzzy.Он или она будет не автоматически проверять Zazzy.

Как я могу сделать это?Как решить эту проблему в больших проектах?Должен ли я использовать собственный скрипт (у меня нет проблем с этим) для обработки извлечения (во многих проектах есть эти странные сценарии, которые они используют для обновления источников, например, Chromium, WebKit)?

Ответы [ 2 ]

3 голосов
/ 10 января 2012

Люди иногда используют подкаталоги , чтобы справиться с этим.

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

Однако, обычно плохая практика слишком сильно связывать разные компоненты. Существуют специальные инструменты для управления зависимостями: в мире Java Maven очень популярен для этого. Я не знаю, что широко используется для проектов на C, хотя вы всегда можете использовать систему пакетов (RPM, APT, ...), чтобы справиться с этим, если у вас много сложных зависимостей.

2 голосов
/ 10 января 2012

Вы должны исследовать Подразделения Mercurial . Они как раз для этого.

...