#git #git-fetch
#git #git-fetch
Вопрос:
Вот моя проблема:
Когда я выполняю извлечение из какого-либо большого репозитория, я хочу показывать прогресс где-то еще, кроме консоли (например, на веб-сайте) Я знаю, что в git 1.7.1.1 есть опция —progress, но я не могу использовать эту версию и должен оставаться с 1.6.0.4
у кого-нибудь есть идеи, как отслеживать прогресс git fetch / pull (например, как извлечь текущий процент загрузки)
Ответ №1:
Я не уверен, как это можно было бы сделать, поскольку опция —progress была реализована в upload-pack.c
Вызываемый
git fetch-pack
, узнает, каких объектов не хватает на другой стороне, и отправляет их после упаковки.Эта команда обычно не вызывается конечным пользователем напрямую.
Пользовательский интерфейс для протокола находится наgit fetch-pack
стороне, и программная пара предназначена для извлечения обновлений из удаленного репозитория.
Об операциях push см. в разделе git send-pack.
Поэтому, если сервер не отправляет обратно такого рода данные, я не знаю, как извлечь их напрямую, кроме как проверив этот комментарий в upload-pack.c
/* We read from pack_objects.err to capture stderr output for
* progress bar, and pack_objects.out to capture the pack data.
*/
Если у вас есть доступ к pack_objects.err
на стороне сервера, вы могли бы (возможно) получить из этого некоторую информацию.