Как организовать репозитории с повторно используемыми компонентами - PullRequest
2 голосов
/ 10 сентября 2010

У меня есть следующие репозитории git:

  • ReusableA
  • ReusableB
  • ReusableC
  • Application1

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

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

1 Ответ

2 голосов
/ 10 сентября 2010

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

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