Mercurial общие / локальные файлы - PullRequest
3 голосов
/ 08 октября 2011

Я пользуюсь hg уже пару лет, и я рад этому!

Я должен начать проект, как никогда раньше.Идея состоит в том, чтобы разработать программное обеспечение с пакетным режимом и графическим интерфейсом.

Таким образом, в пакетном и графическом режиме будут общие источники, но каждый из них также будет содержать определенные источники.И, в принципе, я бы хотел, чтобы мои коллеги могли клонировать версию GUI, работать над изменениями коммитов.Затем я хотел бы иметь возможность объединить их изменения в общих файлах с пакетной версией.

Как с этим справиться?

Поскольку я немного читал оэта тема, я был бы очень признателен за любую помощь !!

Спасибо.binoua

1 Ответ

2 голосов
/ 08 октября 2011

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

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

Итак, для чего тогда подпункты?Подпункты лучше всего подходят для управления коллекциями независимых проектов.Например, предположим, вы создаете большой инструмент с графическим интерфейсом, который охватывает существующий 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 # Рекомендации )

...