Подмодуль Git готовится к редкой проверке - PullRequest
0 голосов
/ 12 октября 2018

У меня есть субмодуль, который будет использоваться при редких проверках.Без разреженного извлечения я бы сделал

git submodule update --init <path/to/submodule>

, но как инициализировать пустой подмодульный репозиторий, не извлекая его (или извлекая его, но не проверяя его), поэтому я могу вызвать

cd <path/to/submodule>
git config core.sparseCheckout true
cd <../../..>
echo <subdir-to-get> .git/modules/<path/to/submodule>/info/sparse-checkout

К сожалению

git submodule init <path/to/submodule>

не создает хранилище в .git/modules/<path/to/submodule> и файл <path/to/submodule>/.git.

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете попробовать, , как здесь , сначала клонировать подмодуль в качестве обычного хранилища, а затем использовать git submodule absorbgitdirs.

Путем клонирования сначала сглубина 1, вы не получаете слишком много данных:

git clone --depth=1 --no-checkout an/Url <path/to/submodule>
git submodule add an/Url <path/to/submodule>
git submodule absorbgitdirs

Затем вы можете изменить .git/modules/<path/to/submodule>/info/sparse-checkout

git -C <path/to/submodule> config core.sparseCheckout true
echo 'foo/*' >>.git/modules/<path/to/submodule>/info/sparse-checkout

Наконец, получите только те файлы, которые вам нужны:

git submodule update --force --checkout <path/to/submodule>
...