Я любил @ ответ HVd, и я думаю, что это должен быть ответ, который заслуживает голосования до:
Вы могли бы включать в себя уже создали суб-хранилище в виде архива - или любой другой формат, который вы предпочитаете - а затем сделайте свой тест, создайте или очистите каталог и просто разархивируйте там субрепозитор. Тем не менее, хотя это значительно снижает сложность запуска тестов, это значительно увеличивает сложность создания и поддержания тестов, поэтому я не рекомендую это.
Есть ситуации, когда подмодули слишком сложны для простой проблемы. Мой код уже работал с настройкой, аналогичной исходному вопросу. Моя проблема заключалась в проведении тестовых репозиций, когда эти репозитории (3 из них) собирались использовать для целей тестирования только с использованием реальных репозиториев с известными коммитами. Поэтому я хотел добавить эти репозиции в git, как и любую другую подпапку, без сложностей подмодулей ... это для тестирования для крика вслух. Мне нужны истории, чтобы быть в рамках этих тестовых репозиториев. Я заметил, что сложность подмодулей на самом деле больше, чем упомянутая «сложность создания и поддержания тестов» ... на самом деле это просто.
Приведенный выше код просто распаковывает тестовые репозитории перед запуском наборов тестов и очищает их после этого. Идея здесь заключается в настройке репозиториев в соответствии с вашим сценарием, а затем добавлении их в архив. Если в репозитории есть какие-либо изменения, вы просто обновляете архив.
Кажется, было бы проще просто избежать всей проблемы. Не могли бы вы протестировать интеграцию, не просто используя существующий репозиторий, а путем создания хранилища с нуля? То есть, начните тестирование с 'mkdir',' git init' и т. Д. Это позволит избежать необходимости полностью отслеживать субрепозиторий. – hvd
Это мой текущий рабочий стол, но я предпочитаю избегать этих шагов, чтобы избежать сложности (потому что мне нужно сделать некоторые изменения и создать некоторые коммиты). – fj123x
Я думаю, что @hvd прав, потому что если вы сделаете этот второй репозиторий, ваши изменения в нем будут накапливаются и имеют побочный эффект.Если вы всегда создаете его с нуля, у вас будет воспроизводимая сборка, что хорошо. – jotadepicas