2010-09-10 1 views
2

У меня есть следующие Git репозитории:Как организовать хранилища с повторно используемыми компонентами

  • ReusableA
  • ReusableB
  • ReusableC
  • Application1

ReusableB и C оба зависит от ReusableA. Поэтому оба хранилища включают ReusableA как подмодуль git. Приложение 1 зависит от ReusableB и ReusableC, поэтому оно включает как git-подмодули. Однако это должно привести к тому, что репозиторий Application1 будет содержать два экземпляра (возможно, разных версий) ReusableA. Поэтому мой вопрос в основном заключается в том, чего я должен избегать, или я могу просто создать скрипт сборки в Application1, который просто игнорирует один из экземпляров ReusableA (и, желательно, я бы не хотел его инициализировать)?

Можете ли вы дать мне совет? Если это действительно сценарий, чтобы избежать, как я мог это сделать? Лучшие практики?

ответ

2

В этом случае лучше всего включить ReusableA в качестве прямого подмодуля Application1.
Application1 будет строить, используя только свою собственную версию ReleaseA, эффективно «переопределяя» версии, используемые ReusableB и ReusableC.

  • Это довольно часто встречается на этапе разработки, где вы не можете ожидать, что все модули будут соблюдать одни и те же зависимости.
  • Однако в интеграции или фазе сборки, вы должны обнаружить и сообщать об этих ситуациях (где ReusableA используется с другой версией между Application1, ReusableB и ReusableC)
  • Цель состоит в том, чтобы построить окончательный релиз, в котором будет идти в производство с одной и только одной версией ReusableA.

 Смежные вопросы

  • Нет связанных вопросов^_^