2008-09-16 9 views
5

Ma compréhension du format de fichier du pack Git est quelque chose comme: alt textformat d'entrée de fichier du pack Git

Si la table est de 32 bits de large, et les trois premiers mots de 32 bits sont l'en-tête de fichier du pack. La dernière rangée de 32 bits sont les 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, suivi par des données compressées.

Dans le premier octet dont la MSB est pas réglé, est la partie MSB des données compressées, ou est-il un écart? Si cela fait partie des données compressées, comment pouvez-vous garantir que lorsque les données seront compressées, ce bit ne sera pas défini?

Répondre

11

Ma lecture du pack file documentation indique que le dernier octet de la taille (offset 15 dans votre exemple) aurait le MSB à 0.

+0

Je ne réalisais pas le format de fichier du pack a été décrit dans la documentation technique. J'ai même regardé là et je ne l'ai pas trouvé. Oh bien. Je suppose que c'était dans mon angle mort. Merci! –

6

Il y a aussi une documentation graphique expliquant certains du format here. Cette section n'est plus présente dans le livre de la communauté, mais reste disponible à l'emplacement ci-dessus.

Questions connexes