On Saturday 2006, December 02 00:12, Linus Torvalds wrote: > 100644 blob 08602f522183dc43787616f37cba9b8af4e3dade xdiff-interface.c > 100644 blob 1346908bea31319aabeabdfd955e2ea9aab37456 xdiff-interface.h > 040000 tree 959dd5d97e665998eb26c764d3a889ae7903d9c2 xdiff > 050000 link 0215ffb08ce99e2bb59eca114a99499a4d06e704 xyzzy > > where that 050000 is the new magic type (I picked one out of my *ss: it's > not a valid type for a file mode, so it's a godo choice, but it could be > anythign that cannot conflict with a real file), which just specifies the > "link" part. The SHA1 is the SHA1 of the commit, and the "xyzzy" is > obviously just the name within the directory of the submodule. Can I argue that the hash in that object should actually be to a real object in the supermodule repository rather than a link? Then THAT object would contain the hash? So in your above example: 100644 blob 08602f522183dc43787616f37cba9b8af4e3dade xdiff-interface.c 100644 blob 1346908bea31319aabeabdfd955e2ea9aab37456 xdiff-interface.h 040000 tree 959dd5d97e665998eb26c764d3a889ae7903d9c2 xdiff 050000 link a7f26495b7b7e32bf949efbd91ee32267b792cba xyzzy And then the local object a7f26495b7b7e32bf949efbd91ee32267b792cba would contain your original hash 0215ffb08ce99e2bb59eca114a99499a4d06e704. The reason I suggest this as without out it the "link" object is the only hash in the tree that doesn't point to a valid object. The contents of objects is entirely arbitrary so it's perfectly okay for that to contain a hash that won't dereference to a real object in the supermodule. The main advantage of this is (I think) that git-prune, git-fsck, and whatever else relies on tree objects all being real, don't need to be modified at all. It also gives you scope to later add fields to the "link" object if you wanted. Andy -- Dr Andrew Parkins, M Eng (Hons), AMIEE andyparkins@xxxxxxxxx - 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