Formato di immissione del file Git pack
-
09-06-2019 - |
Domanda
La mia comprensione del formato file Git pack è qualcosa del tipo:
Dove la tabella è larga 32 bit e le prime tre parole a 32 bit sono l'intestazione del file pack.L'ultima riga di 32 bit sono i primi 4 byte di una voce.A quanto ho capito, la dimensione della voce è specificata da byte consecutivi con il set MSB, seguito da dati compressi.
Nel primo byte il cui MSB non è impostato, il MSB fa parte dei dati compressi o è uno spazio vuoto?Se fa parte dei dati compressi, come puoi garantire che quando i dati vengono compressi quel bit non verrà impostato?
Soluzione
La mia lettura del pack documentazione del file indica che l'ultimo byte della dimensione (offset 15 nel tuo esempio) avrebbe l'MSB impostato su 0.
Altri suggerimenti
C'è anche della documentazione grafica che spiega parte del formato Qui.Questa sezione non è più presente nel Libro della comunità, ma è ancora disponibile nella posizione sopra.