From: H. Peter Anvin Date: Tue, 03 May 2005 23:18:34 GMT Subject: Re: git and symlinks as tracked content Message-ID: <427806CA.6030302@zytor.com> In-Reply-To: <7v1x8nuchr.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: >>>>>>"HPA" == H Peter Anvin writes: > > > HPA> Owner and permissions are part of the tree object, and apply to all > HPA> file types. > > Huh? I am confused... Do you mean tree object should be > changed to record these? That would make the existing in-cache > merging of files, which GIT was built for, quite interesting... > > Well, doing device nodes _is_ a tangent, so let's drop this > discussion. > No, the tree object *ALREADY* records these. BLOB: A "blob" object is nothing but a binary blob of data, and doesn't refer to anything else. There is no signature or any other verification of the data, so while the object is consistent (it _is_ indexed by its sha1 hash, so the data itself is certainly correct), it has absolutely no other attributes. No name associations, no permissions. It is purely a blob of data (ie normally "file contents"). TREE: The next hierarchical object type is the "tree" object. A tree object is a list of permission/name/blob data, sorted by name. In other words the tree object is uniquely determined by the set contents, and so two separate but identical trees will always share the exact same object. -hpa