On Sat, 24 Mar 2007, Peter Eriksen wrote: > There is a new tree type called OBJ_DICT_TREE, which looks something > like the following: > > +-----------------+------------------------------------------------+---- > | Table offset | SHA-1 of the blob corresponding to the path. | ... > +-----------------+------------------------------------------------+---- > 6 bytes 20 bytes Actually it is a 2-byte index in the path table, and a 4-byte index in a common SHA1 table. So each tree entry is 6 bytes total. > These new tree objects will remain uncompressed in the pack file, but > sorted with, and deltaed against other tree objects. All normal tree > objects are converted to OBJ_DICT_TREE when packing, and are converted > back on the fly to callers who need an ordinary OBJ_TREE. Right. > The index (.idx) files are extended to have a 4 byte pointer to the > offset of this file name table in the pack file for easy lookup. Right. And it will lose the SHA1 entries since they are already available in the pack. > There is something similar with a table of common strings in commit > objects (e.g. author and timezone), and a new object OBJ_DICT_COMMIT, > but I have not understood that quite yet. > > Is there something, I have gotten wrong with regards to my > understanding? I don't think so. Note that the code is still a work in progress and the resulting pack/index is not yet fully conform to the format we envisaged. Nicolas - 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