Есть ли способ ограничить Git редкой проверкой? - PullRequest
3 голосов
/ 14 марта 2012

Как подсказал недавний вопрос, я ищу способ ускорить операции с Git-репозиторием с очень большим количеством файлов (~ 6 миллионов).Я бы предпочел не использовать подмодули.Проблема в том, что операции выполняются довольно медленно.Можно ли иметь один большой репозиторий, но указать Git сосредоточиться только на части репозитория?Я думал, что, возможно, создание sparse-checkout сделает это, но операция read-tree, похоже, удаляет файлы, не указанные в файле sparse-checkout, и занимает очень много времени.Можно ли сделать дерево чтения, сохраняя все файлы там, где они есть, и пропорционально только количеству файлов, указанному в файле sparse-checkout?

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Нет, нет. Только недавно Git (1.7+) добавил any разреженную поддержку извлечения, и это все еще довольно скудно - в основном потому, что Git не был предназначен для работы только с частью репозитория.

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

0 голосов
/ 14 марта 2012

Во-первых, я бы предложил изучить и использовать субмодули.

Вы можете написать то, что вам нравится,

git ls-tree sha1
git show sha1:path/to/some/file.txt

и другие команды низкого уровня. Также смотрите команды bash, такие как

xargs
grep
cut

и трубопровод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...