John Wiegley on git

From emacs-devel mailing list:

One thing to keep in mind is that Git has several distinct layers:

  • The data model
  • The plumbing
  • The porcelain

The data model is incredibly simple. This, I think, is Git's main attraction. I've written about the data model in my article "Git from the Bottom Up", and also via a Haskell library for interacting with this model, called gitlib (http://hackage.haskell.org/package/gitlib).

The plumbing is… unintuitive to say the least. The porcelain is… fairly bad, but slowly getting better.