Question

Je pense comprendre le format de fichier du pack Git: alt text

La table a une largeur de 32 bits et les trois premiers mots de 32 bits constituent l’en-tête du fichier pack. La dernière ligne de 32 bits correspond aux 4 premiers octets d'une entrée. Si je comprends bien, la taille de l'entrée est spécifiée par des octets consécutifs avec l'ensemble MSB, suivis par des données compressées.

Dans le premier octet dont le MSB n'est pas défini, le MSB fait-il partie des données compressées ou s'agit-il d'un espace? Si cela fait partie des données compressées, comment pouvez-vous garantir que ce bit ne sera pas défini lorsque les données sont compressées?

Était-ce utile?

La solution

Ma lecture de la la documentation du fichier de pack indique que le dernier octet de la taille (décalage 15 dans votre exemple) aurait le MSB défini sur 0.

Autres conseils

Il existe également une documentation graphique expliquant certains des formats du ici . Cette section n'est plus présente dans le livre communautaire, mais reste disponible à l'emplacement ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top