Не совсем. Я хочу иметь возможность клонировать клон и правильно клонировать все подмодули.

грируем в Git. У нас есть большое количество модулей, которые составляют наши продукты, некоторые из них разделены между продуктами. Продукт представлен «тонким» супер-репозиторием (ssh: //server/product.git), который содержит только подмодули:

[submodule "module1"]
path=module1
url=ssh://server/product/module1.git
[submodule "module2"]
path=module2
url=ssh://server/product/module2.git
...

Я могу клонировать супер-репозиторий, работать с субмодулями и фиксировать их, а затем фиксировать субмодули в супер-репозиторий.

Проблема возникает, когда я хочу представить еще один уровень. Существует два основных сценария (это может объединить, чтобы сделать более сложные установки, но все должно быть их комбинацией):

Как разработчик, я клонирую центральное хранилище и работаю. Затем я хочу отправить свой код на наш сервер непрерывной интеграции, прежде чем объединить мои изменения с центральным репозиторием. Я позволил серверу CI клонировать мое хранилище. Это не работает, CI-сервер клонирует мое супер-репо, а затем клонирует субмодули из центрального хранилища (поскольку это то, что сказано в .gitmodules).

Как команда, мы хотим иметь интеграционный репозиторий, к которому мы стремимся, прежде чем мы, в конце спринта, объединяем наш код с центральным репозиторием. Это не удается по той же причине.

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

Могу ли я иметь это оба? Подмодули Git и структура n-уровневого репозитория?

Ответы на вопрос(2)

Ваш ответ на вопрос