Бэкенд git на внешней команде научился поверхностной загрузке — лишняя история не качается

27.10.2025

Бэкенд git, работающий через внешнюю команду git, научился делать поверхностную загрузку. То есть он забирает только последний коммит, а не всю историю.

Зачем это нужно

Зависимость от git-репозитория обычно фиксируется на конкретном коммите. Но если репозиторий крупный, полная история — это десятки и сотни мегабайт ради одного файла.

Собственная реализация git, написанная на Rust, такую загрузку уже умела. Вторая реализация, поверх внешней команды, отставала.

Практический эффект

Сборка с зависимостями от git становится заметно быстрее при первом обращении, а каталог кеша — меньше. Для непрерывной сборки, где зависимости от git встречаются часто, это уменьшает и время, и расход диска.

Отдельная выгода — устойчивость: поверхностная загрузка не требует доступа к полной истории, а значит, не упирается в ограничения серверов.

Оригинал

feat(git): support shallow fetch for Git CLI backend

Упоминаний: 1 · Просмотров: 2