Как создатель вложенных элементов, я настоятельно рекомендую против , используя для этого вложенные пункты.
Несмотря на то, что подпункты могут использоваться для разбиения более крупного проекта на более мелкие части, преимущества этого часто перевешиваются дополнительной сложностью и хрупкостью, которые включают в себя подпункты.Если ваш проект не будет действительно большим, вам просто нужно придерживаться одного репозитория проекта для простоты.
Итак, для чего тогда подпункты?Подпункты лучше всего подходят для управления коллекциями независимых проектов.Например, предположим, вы создаете большой инструмент с графическим интерфейсом, который охватывает существующий SCM.Я бы порекомендовал вам структурировать его примерно так:
scm-gui-build/ <- master build repo with subrepos:
scm-gui/ <- independent repo for all the code in your GUI tool
scm/ <- repo for the third-party SCM itself
gui-toolkit/ <- a third-party GUI toolkit you depend on
extensions/ <- some third-party extension to bundle
extension-foo/
Здесь вы выполняете всю свою работу в простом старом репо (scm-gui), но используете мастер-репо более высокого уровня для управления строительством /упаковка / версия / пометка / выпуск всей коллекции.Мастер scm-gui-build
репо - это просто тонкая оболочка для других обычных репозиториев, что означает, что если что-то сломается (например, один из URL-адресов репо отключается), вы можете продолжать работать в своем проекте без проблем.
(см.также: https://www.mercurial -scm.org / wiki / Subrepository # Рекомендации )