Написать программу, которая читает со стандартного ввода двоичный файл и интерпретирует его как Git-объект (ещё одна ссылка). Для объектов разного типа должна выводиться следующая информация:
pack: (Pack-file, обычно имеет расширение .pack): версия и количество объектов
index: (Индекс версии 2, расширение .idx): размер (255 запись в fanout table)
Объект из репозитория (который можно распаковать zlib)
blob: размер
tree: список файлов в дереве вида «идентификатор права имя» (в столбик)
tag: имя
commit: идентификатор
- неизвестный объект репозитория: тип размер
неизвестный файл: unknown:
(см. ссылку на архив в полном условии задачи)
Ниже приведены результаты сразу нескольких тестов для каждого файла из архива
- Имён файлов нет, потому что их не будет в тестах
commit: 74e95bdf495ee67e5ee21434043ce9b899c8317b tree: f6035fb0029fd1a94cb18cabc23db44abfa61243 40000 Dir a29d440222a303eb8f9efb49af7e3dd56c0f5bf4 100644 файло tree: 2e42b9ea36935331674d4b58657187616cc099ce 100644 file blob: 33 tag: top commit: e668987a5e1ae2f38a7289e8260e0d3a437d5fcf tree: a29d440222a303eb8f9efb49af7e3dd56c0f5bf4 100644 файло blob: 11 unknown: index: 4 unknown: pack: 2 4