Как вручную выполнить `git ls-remote` с помощью http-клиента
Я хочу запрашивать последнюю удаленную фиксацию HEAD для более чем 10000 https git-репозиториев каждый час. В основном это x10000:
remote=https://github.com/torvalds/linux
git ls-remote $remote HEAD | awk '{print $1}'
Большинство, но не все удаленные устройства находятся на одном сервере (github.com). Я не хочу использовать API github, потому что некоторых репозиториев нет на github, а у API есть ограничения.
Следовательно, я хочу использовать удаленный протокол git https, но я бы предпочел реализовать это с помощью
(lib)curl
вместо
git
чтобы получить больше контроля над настройками https и, надеюсь, выполнять запросы параллельно по одному и тому же соединению.
Где я могу найти дополнительную информацию о том, что такое HTTP-запрос?
git ls-remote
делает под капотом (используя «умный» протокол git), чтобы я мог выполнить тот же вызов с libcurl?
Я просмотрел спецификацию протоколов передачи HTTP и документы в Git-Internals-Transfer-Protocols , но это очень общий и не вдается в подробности
ls-remote
.