On Sat, May 28, 2011 at 02:17:38PM +0200, Jakub Narebski wrote: > Among covered programs is Mercurial (chapter by Dirkjan Ochtman)... > but unfortunately no Git (they probably thought that one DVCS is enough). > > How would such chapter on Git look like? Authors of this book > encourage (among others) to write new chapters. I just skimmed the Mercurial chapter, but they do cover a fair bit of general DVCS architecture. For git, I would guess a good approach would be to describe the data structures (i.e., content-addressable object database, DAG of commits, refs storing branches and tags), as everything else falls out from there. Most of the basic commands can be explained as "do some simple operation to the history graph or object db" and the more complex commands are compositions of the simple ones. So the architecture is really about having a data structure that represents the problem, exposing it to the user, and then building some niceties around the basic data structure operations. Of course that's just my perspective. Linus might have written something totally different. :) -Peff -- 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