Subject: Re: Git files data formats documentation

From: A Large Angry SCM <[email-masked]>
Date: Sat, 05 Aug 2006 13:15:14 -0700

Jakub Narebski wrote:
> A Large Angry SCM wrote:
> 
>> <TREE_ENTRY>
>>         # The type of the object referenced MUST be appropriate for
>>         # the mode. Regular files and symbolic links reference a BLOB
>>         # and directories reference a TREE.
>>         :       <OCTAL_MODE> <SP> <NAME> <NUL> <BINARY_OBJ_ID>
>>         ;
> [...]
>> <OCTAL_MODE>
>>         # Octal encoding, without prefix, of the file system object
>>         # type and permission bits. The bit layout is according to the
>>         # POSIX standard, with only regular files, directories, and
>>         # symbolic links permitted. The actual permission bits are
>>         # all zero except for regular files. The only permission bit
>>         # of any consequence to Git is the owner executable bit. By
>>         # default, the permission bits for files will be either 0644
>>         # or 0755, depending on the owner executable bit.
>>         ;
> 
> I do wonder why there is <OCTAL_MODE> (and not <BINARY_OCTAL_MODE>) 
> but <BINARY_OBJ_ID> (and not <HEX_OBJ_ID>).
> 

<OCTAL_MODE> because it's an ASCII string. <BINARY_OBJ_ID> because it's 
the 20 byte digest.