From: "John Wiegley" <johnw@newartisans.com>
To: Alan Mackenzie <acm@muc.de>
Cc: David Kastrup <dak@gnu.org>, emacs-devel@gnu.org
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 [thread overview]
Message-ID: <m2fv0ttumk.fsf@newartisans.com> (raw)
In-Reply-To: <20151029170237.GF2510@acm.fritz.box> (Alan Mackenzie's message of "Thu, 29 Oct 2015 17:02:37 +0000")
>>>>> Alan Mackenzie <acm@muc.de> 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
next prev parent reply other threads:[~2015-10-29 18:08 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 19:20 Git question: when using branches, how does git treat working files when changing branches? Alan Mackenzie
2015-10-28 19:44 ` David Kastrup
2015-10-28 20:00 ` Steinar Bang
2015-10-28 20:04 ` Ricardo Wurmus
2015-10-28 20:10 ` Alex Bennée
2015-10-28 22:32 ` Alan Mackenzie
2015-10-28 22:56 ` Xue Fuqiao
2015-10-28 22:59 ` Óscar Fuentes
2015-10-28 23:53 ` Alan Mackenzie
2015-10-29 0:17 ` Dmitry Gutov
2015-10-29 0:28 ` Michael Heerdegen
2015-10-29 0:49 ` Michael Heerdegen
2015-10-29 2:25 ` Yuri Khan
2015-10-29 8:21 ` David Kastrup
2015-10-29 12:35 ` Alan Mackenzie
2015-10-29 13:21 ` David Kastrup
2015-10-29 17:02 ` On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?] Alan Mackenzie
2015-10-29 17:22 ` David Kastrup
2015-10-29 18:08 ` John Wiegley [this message]
2015-10-30 7:48 ` Paul Eggert
2015-10-30 9:27 ` Alan Mackenzie
2015-10-30 9:48 ` David Kastrup
2015-10-30 10:34 ` Eli Zaretskii
2015-10-30 21:44 ` Paul Eggert
2015-10-30 9:09 ` joakim
2015-10-30 10:49 ` Yuri Khan
2015-10-31 3:16 ` Stephen J. Turnbull
2015-10-31 8:24 ` Eli Zaretskii
2015-10-31 8:32 ` Andreas Schwab
2015-10-31 11:35 ` Oleh Krehel
2015-10-31 12:19 ` David Kastrup
2015-11-02 22:01 ` Nikolaus Rath
2015-11-03 8:42 ` David Kastrup
2015-11-03 17:38 ` Nikolaus Rath
2015-10-31 16:02 ` On the popularity of git Stephen J. Turnbull
2015-11-01 8:08 ` Uwe Brauer
2015-10-31 16:50 ` Alan Mackenzie
2015-10-31 16:58 ` Dmitry Gutov
2015-11-02 22:05 ` Nikolaus Rath
2015-11-03 8:39 ` David Kastrup
2015-10-31 19:24 ` Stephen J. Turnbull
2015-10-31 20:13 ` David Kastrup
2015-10-31 21:08 ` Steinar Bang
2015-10-31 21:15 ` David Kastrup
2015-10-31 21:48 ` Alan Mackenzie
2015-11-01 8:17 ` Steinar Bang
2015-11-01 8:54 ` David Kastrup
2015-11-01 10:17 ` Steinar Bang
2015-11-01 11:15 ` Juanma Barranquero
2015-11-02 20:11 ` John Wiegley
2015-11-03 7:00 ` Oleh Krehel
2015-11-03 10:07 ` Dmitry Gutov
2015-11-03 11:58 ` Juanma Barranquero
2015-11-03 13:08 ` John Wiegley
2015-11-03 13:30 ` Juanma Barranquero
2015-11-03 13:38 ` Dmitry Gutov
2015-11-03 13:43 ` Juanma Barranquero
2015-11-03 13:49 ` Dmitry Gutov
2015-11-03 13:58 ` Juanma Barranquero
2015-11-03 14:14 ` Alan Mackenzie
2015-11-03 14:25 ` Juanma Barranquero
2015-11-03 13:43 ` Oleh Krehel
2015-11-03 14:35 ` Óscar Fuentes
2015-11-03 14:52 ` Juanma Barranquero
2015-11-03 15:58 ` Eli Zaretskii
2015-11-03 16:04 ` Dmitry Gutov
2015-11-03 18:14 ` Óscar Fuentes
2015-11-03 19:40 ` Jay Belanger
2015-11-03 20:15 ` John Wiegley
2015-11-03 20:24 ` Drew Adams
2015-11-03 20:35 ` Changing the tone of emacs-devel (Was: On the popularity of git) John Wiegley
2015-11-03 22:05 ` Artur Malabarba
2015-11-04 7:54 ` Nicolas Petton
2015-11-03 21:47 ` Changing the subject (was: " David Kastrup
2015-11-03 23:37 ` Marcin Borkowski
2015-11-04 0:27 ` John Yates
2015-11-04 1:40 ` Changing the subject Yann Hodique
2015-11-04 15:37 ` John Wiegley
2015-11-03 22:11 ` emacs-devel etiquette (was: Re: On the popularity of git) Stephen Leake
2015-11-04 11:12 ` Future emacs mailing lists. [Was: On the popularity of git] Alan Mackenzie
2015-11-04 7:52 ` On the popularity of git Stephen J. Turnbull
2015-11-03 20:53 ` Richard Stallman
2015-11-03 13:49 ` Andreas Schwab
2015-10-30 12:50 ` On the popularity of git [Was: Git question: when using branches, how does git treat working files when changing branches?] Juanma Barranquero
2015-10-30 14:15 ` David Kastrup
2015-10-30 16:54 ` Juanma Barranquero
2015-10-30 17:31 ` David Kastrup
2015-10-29 16:31 ` Git question: when using branches, how does git treat working files when changing branches? Eli Zaretskii
2015-10-29 16:16 ` Eli Zaretskii
2015-10-29 17:45 ` Davis Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2fv0ttumk.fsf@newartisans.com \
--to=johnw@newartisans.com \
--cc=acm@muc.de \
--cc=dak@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.