Re: Exact format of tree objets
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 11, 2013, 18:38 UTC
- Message-ID
- <7v4nd4bigv.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CABx5MBRAYmO39BnMqnHZhUOwQf-7yeRuD=m7-P2xXdhkp6aWpA@mail.gmail.com>
Chico Sokol <chico.sokol@gmail.com> writes:
Show 7 quoted lines
> Is there any official documentation of tree objets format? Are tree > objects encoded specially in some way? How can I parse the inflated > contents of a tree object? > > We're suspecting that there is some kind of special format or > encoding, because the command "git cat-file -p <sha>" show me ... > While "git cat-file tree <sha>" generate ...
"cat-file -p" is meant to be human-readable form. The latter gives the exact byte contents read_sha1_file() sees, which is a binary format. Essentially, it is a sequence of:
- mode of the entry encoded in octal, without any leading '0' pad; - pathname component of the entry, terminated with NUL; - 20-byte SHA-1 object name.
sorted in a particular order.