emacs-devel
[Top][All Lists]
Advanced

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

Re: Obscure error/warning/information message from git pull


From: Thien-Thi Nguyen
Subject: Re: Obscure error/warning/information message from git pull
Date: Sun, 16 Nov 2014 21:24:56 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

() Eli Zaretskii <address@hidden>
() Sun, 16 Nov 2014 17:35:53 +0200

   This is a red herring.  You are confusing the concept of a
   "branch" with the Git implementation of branches.

Maybe.

   The implementation is a label, but "branch" the concept is
   the set of commits reachable from the branch tip, in Git as
   in any other VCS.

Unfortunately, i get the impression from the few Git manpages
i've really read thoroughly that the clean distinction between
"branch" the concept and "branch" the user-facing specification
for a DAG vertex is not very important.

   Unlike what you wrote, the revision history is conceptually
   _always_ a DAG, even in RCS.

I'm sorry i gave that impression; at the conceptual level i
agree that all these systems manipulate DAGs.  My point was to
deconstruct (a bit) the different ways vertex/edge information
can be divvied, mainly to suggest that over-attachment to one
or another "branch" concept is a good place to apply awareness
hacking.

   > It "knows" it, sure, but if the way it knows it and the
   > way you think it knows it differ, you will remain
   > confused.

   You are in fact saying that it is impossible for a Git
   newbie to grasp the basic concepts and do any useful work
   without a detailed understanding of the internals.

That's a valid interpretation, i suppose, in which case...

   I don't think it's true.

i would agree.  However, it's not the only one.  Generally, i
think even the newest of newbies benefits from separating the
applicable from the inapplicable baggage carried into any new
effort.

Here, as elaborated (and nicely compared to Emacs) by dak,
there is also the opportunity (or needless pain, YMMV) for
users to touch some fundamental data structures and algorithms,
or at least to enjoy (or suffer) their touchings and teachings
by some real experts.  That these experts could not maintain
the putative distinction between "plumbing" and "porcelain" is
perhaps less a failing on their part and more indicative of the
strength of the underlying data model.

Anyway, i don't argue that the word "branch" is well suited for
the concept of "vertex label".  It is, by now, historical.
Same logic is why we talk about CAR and CDR, half a century on.
The only difference is that "branch" is a pre-existing word in
VCS, CS, biology, etc.  Unfortunate choice, in hindsight.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

Attachment: signature.asc
Description: PGP signature


reply via email to

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