From: David Kastrup <dak@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: On the popularity of git
Date: Tue, 03 Nov 2015 09:39:28 +0100 [thread overview]
Message-ID: <87twp3zdbz.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <87d1vsjbvf.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Mon, 02 Nov 2015 14:05:24 -0800")
Nikolaus Rath <Nikolaus@rath.org> writes:
> On Oct 31 2015, Dmitry Gutov <dgutov@yandex.ru> wrote:
>>> Being a user of git involves learning its internal structures.
>>> (Note the people recently emphasising the internal representation of a
>>> git branch to me, talking about pointers to its tip, and so on. I
>>> really don't want to have to know about such stuff.)
>>
>> To a reasonably proficient Git user, that sounds like "I don't want to
>> know what graphs are"
>
> Yes, you nailed the problem. To be a reasonably proficient git user, you
> have to learn its internal representation
Not really. All you need to know is that a commit is defined by a bit
of data (commit message, author, commit date, and so on), its parent
commit(s) and a snapshot of the work tree. How those are represented in
detail is not really of much concern, and a particular implementation
might choose to use some quite different underlying database than the
standard repository does.
> (which isn't surprising, because as someone else said, the internal
> representation is really the git's main selling point).
Git changed the internal representation several times over the years,
using different packing formats and stuff. The main selling point is
rather the simplicity (and stability) of the underlying data model.
Which is exactly the reason it's easy to plug together various pieces of
"plumbing" in order to arrive at some new porcelain like
"git-filter-branch" or similar: many Git utilities, at least initially,
were plugged together using shell scripts and it is rather few
specialized C programs (and modules) which actually need to bother with
the internal representation.
--
David Kastrup
next prev parent reply other threads:[~2015-11-03 8:39 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
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 [this message]
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=87twp3zdbz.fsf@fencepost.gnu.org \
--to=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.