From: Jakub Narebski Date: Wed, 12 Jun 2013 14:06:24 GMT Subject: Re: Exact format of tree objets Message-ID: In-Reply-To: <7v4nd4bigv.fsf@alter.siamese.dyndns.org> Junio C Hamano pobox.com> writes: > Chico Sokol gmail.com> writes: > > > 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 " show me ... > > While "git cat-file tree " 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. I always wondered why this is the sole object format where SHA-1 is in 20- byte binary format and not 40-chars hexadecimal string format... -- Jakub Narębski