Vincent Ladeuil wrote: > Ok, so git make a distinction between the commit (code created by > someone) and the tree (code only). > > Commits are defined by their parents. > > Trees are defined by their content only ? Trees are collections of tuples: (mode, type, sha1, name), where mode is simplified mode of a file or directory (only if it is symlink, directory, file or executable file is tracked), type is blob (file) or tree (directory), sha1 is sha1 of contents of given entry, and name is filename of given entry. > If that's the case, how do you proceed ? > > Calculate a sha1 representing the content (or the content of the > diff from parent) of all the files and dirs in the tree ? Or > from the sha1s of the files and dirs themselves recursively based > on sha1s of the files and dirs they contain ? sha1 of object is sha1 of type+contents if I remember correctly. So the sha1 of tree is based on sha1 of the files and dirs it contain. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - 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