emacs-devel
[Top][All Lists]
Advanced

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

Re: On the popularity of git


From: David Kastrup
Subject: Re: On the popularity of git
Date: Tue, 03 Nov 2015 09:39:28 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Nikolaus Rath <address@hidden> writes:

> On Oct 31 2015, Dmitry Gutov <address@hidden> 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



reply via email to

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