emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: On the popularity of git [Was: Git question: when using branches, ho


From: John Wiegley
Subject: Re: On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?]
Date: Thu, 29 Oct 2015 11:08:51 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin)

>>>>> Alan Mackenzie <address@hidden> writes:

> I've been wondering about git's popularity for some long time. That git's
> complexity is not necessary in a powerful VCS is demonstrated by the
> counterexamples of hg and (to a lesser extent) bzr.

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.

The thing is, you can throw away the plumbing *and* the porcelain, and still
have access to your data. There is the C library libgit2 you can use,
completely independent from the git CLI tool. And it's *fast* for doing
large-scale manipulation (gitlib is able to optionally make use of it).

For engineers who like to dig into things, Git looks beautiful; for users who
want to use things, it often looks terrible.

John



reply via email to

[Prev in Thread] Current Thread [Next in Thread]