Я хочу знать, как получить все коммиты/версии файла (т. Е. Содержимое коммитов/версий) с помощью API GitHub.
Я решил один из способов сделать это, что эквивалентно ответе this other question.Получение всех версий файла с помощью GitHub blob api
Проблема заключается в следующем использует «содержимое» API, который имеет верхний предел 1 МБ на файл (вы получите это сообщение об ошибке при попытке открыть файл размером более 1 МБ: «This API returns blobs up to 1 MB in size. The requested blob is too large to fetch via the API, but you can use the Git Data API to request blobs up to 100 MB in size.
»)
Чтобы получить файлы размером более 1 МБ (до 100 МБ), вам нужно использовать API-интерфейс «blob», но я не знаю, как его использовать так же, как API содержимого.
I.e., учитывая конкретную фиксацию файла, как вы получаете содержимое этого файла с помощью API-интерфейса «blob»?
Спасибо, я закончил так же, используя API дерева. В частности, я получаю все коммиты для файла. Затем я пытаюсь использовать API содержимого для получения содержимого файла для каждой фиксации. Если это не удается (т.е. размером более 1 МБ, поэтому мне нужно использовать API-интерфейс blob), я получаю URL-адрес дерева для файла из его фиксации (т. Е. В Perl: $ commit_tree_url = $ commit_info -> {'commit'} -> { 'дерево'} -> { 'URL'}). то я получаю $ commit_tree_url и нахожу правильную запись дерева в результатах для файла --- у этого будет хеш-значение 'url', которое можно использовать для получения содержимого файла через API-интерфейс blob. – buddyroo30
@ buddyroo30 Отлично! Я включил ваш комментарий в ответ для большей наглядности. – VonC