On Aug 28, 2009, at 1:11 PM, Óscar Fuentes wrote: > git > requires quite a bit of mastership and knowing lots of things about > its > inner workings. When did you learn it? Was that before or after their interface improvements in or around 2008? I use git productively without knowing anything about their pack format, or when exactly it runs a garbage collection, or how the git transfer protocol works. I do know that it's a graph structure, what they mean by HEAD, how a refid identifies a node on the graph, why it changes if content or metadata of the node change, what it means to rebase (although the exact syntax I would look up). All useful and beautiful concepts, easy to understand with some general computer science training. And I think you'd have to know this stuff for Bzr or Hg, too.