Формат ввода файла Git Pack - PullRequest
       25

Формат ввода файла Git Pack

5 голосов
/ 16 сентября 2008

Мое понимание формата файлов Git Pack выглядит примерно так: alt text

Если таблица имеет ширину 32 бита, а первые три 32-битных слова являются заголовком файла пакета. Последняя строка из 32 битов - это первые 4 байта записи. Насколько я понимаю, размер записи определяется последовательными байтами с набором MSB, за которыми следуют сжатые данные.

В первом байте, MSB которого не установлен, является ли MSB частью сжатых данных или это разрыв? Если это часть сжатых данных, как вы можете гарантировать, что при сжатии данных этот бит не будет установлен?

Ответы [ 2 ]

10 голосов
/ 16 сентября 2008

Мое чтение документации файла пакета указывает, что последний байт размера (смещение 15 в вашем примере) будет иметь значение MSB равное 0.

6 голосов
/ 01 июня 2010

Существует также некоторая графическая документация, объясняющая некоторые из формата здесь . Этот раздел больше не присутствует в книге сообщества, но все еще доступен в расположении выше.

...