Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: [cut] > I never knew how ugly the output of "git tag-file tree sha1" is. I guess > it's the type of object whose format I don't know... We don't have an > object format description in Doc/technical, do we? tree.c doesn't tell > me much. I had to handle this in my attempt to write "git blame <directory>" in Perl, which was using `git cat-file --batch`, and that gives raw data and not pretty-printed. Tree object consist of zero or more entries. Each item consist of mode, filename, and sha1: <mode> SPC <filename> NUL <sha1> where 1. <mode> is variable-length (!) text (!) containing mode of an entry. It encodes type of entry: if it is blob (including special case: symbolic link), tree i.e. directory, or a commit i.e. submodule. Does not include leading zeros. 2. <filename> is variable-length null-terminated ("\0") name of a file or directory, or name of directory where submodule is attached 3. <sha1> is 40-bytes _binary_ identifier. HTH -- Jakub Narębski -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html