2008-09-16 9 views
5

Mi comprensión del formato de archivo del módulo de Git es algo así como: alt textGit formato de archivo del módulo de entrada

donde la mesa es de 32-bits de ancho, y las tres primeras palabras de 32 bits son el encabezado del archivo de paquete. La última fila de 32 bits son los primeros 4 bytes de una entrada. Según tengo entendido, el tamaño de la entrada se especifica por bytes consecutivos con el conjunto de MSB, seguido de datos comprimidos.

En el primer byte cuyo MSB no está configurado, ¿es la MSB parte de los datos comprimidos, o es un espacio? Si es parte de los datos comprimidos, ¿cómo se puede garantizar que cuando los datos estén comprimidos ese bit no se configure?

Respuesta

11

Mi lectura de la pack file documentation indica que el último byte del tamaño (offset 15 en el ejemplo) tendría el conjunto MSB a 0.

+0

No me di cuenta de que el formato del archivo del paquete se describió en los documentos técnicos. Incluso miré allí y no lo encontré. Oh bien. Supongo que fue en mi punto ciego. Gracias! –

6

También hay algo de documentación gráfica que explica algunos de formato here. Esta sección ya no está presente en el libro de la comunidad, pero aún está disponible en la ubicación anterior.

Cuestiones relacionadas