I'm trying to understand how it works and I'll appreciate if someone could help.
1. git uses object abstraction for the different types and so everything is in one directory (objects). From what I've seen in the implementation, the different kind of objects are not of the same type (there aren't any operations which work on two different types) and thus in each step when an object is used its type is verified. What's the benefit of having them all in the same tree? An alternative would be to separate the different object types into different directories which trivially allows getting a list of all commits, or trees or blobs. 2. A commit can have more than one parent. Can anyone draw an example of such a case? When do we get a commit graph which is not linear? 3. How does git handle binary files? I guess it doesn't really care if it's binary or text, but how would the diff and merge scripts handle them? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html