On Wed, Oct 21, 2009 at 2:37 PM, Thomas Rast <trast@xxxxxxxxxxxxxxx> wrote: >> Commit -> Tree ---> Blob1, Blob2, Blob3 >> >> Commit, Trees and Blobs are all identified by sha1 >> the commit should keep information on the author, the "parent" >> commit(s) and so on.. >> the tree should just keep the "snapshot" of the data.. >> >> so I think that if you search for the SHA-1 of the tree you should be fine.. > > Not if you really want to find out if X was cherry-picked into this > repository, because the tree is the *final state* at that commit, > which of course includes all preceding changes. > > So suppose you have two patches A.diff and B.diff introducing files of > the same name; then if you combine them into history as > > A -- B > > the tree state at B has both files, and hence is different from the > tree state of B' in > > B' -- A' > > because there it only has the file B. Yes... obviously... the tree is the snapshot of a complete data set: so if you apply the same patch to different data set you get different trees... thanks for pointing it out.. :) Regards, Daniele -- 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