Формат записи файла Git Pack

Я понимаю формат файла пакета Git примерно так:  альтернативный текст

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

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


person Ben Collins    schedule 16.09.2008    source источник


Ответы (2)


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

person Greg Hewgill    schedule 16.09.2008
comment
Я не понимал, что формат файла пакета был описан в технической документации. Я даже поискал там и не нашел. Ну что ж. Думаю, это было в моем слепом пятне. Спасибо! - person Ben Collins; 16.09.2008

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

person Scott Chacon    schedule 01.06.2010