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: Eli Zaretskii
Subject: Re: Obscure error/warning/information message from git pull
Date: Sun, 16 Nov 2014 17:35:53 +0200

> From: Thien-Thi Nguyen <address@hidden>
> Date: Sun, 16 Nov 2014 14:25:02 +0100
> 
> () Alan Mackenzie <address@hidden>
> () Fri, 14 Nov 2014 23:02:36 +0000
> 
>    > Because in GIT commits are not on a branch. All commits are
>    > arranged into DAG, and branch is just a pointer into the DAG.
>    > Any given commit is either reachable from given branch or
>    > not. It's that simple.
> 
>    I think you're just playing with words, here.  We all know what
>    a branch is,
> 
> Terminology differs between VCS models.  For RCS and conceptual
> derivatives, a "branch" is a series of commits, and a commit can be
> viewed as "contained in" or "belonging to" a branch; in the DAG,
> "branch" includes both vertice and edge information.  For Git, a
> "branch" is a vertice label only (edge information lies in the
> "commit object").

This is a red herring.  You are confusing the concept of a "branch"
with the Git implementation of branches.  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.  Unlike what you wrote,
the revision history is conceptually _always_ a DAG, even in RCS.

>    and git knows which revisions are on which branch (or
>    branches?), otherwise your command below couldn't work.
> 
> 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.  I don't think it's true.



reply via email to

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