From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Obscure error/warning/information message from git pull Date: Sun, 16 Nov 2014 17:35:53 +0200 Message-ID: <838ujbdup2.fsf@gnu.org> References: <20141114120604.GA3859@acm.acm> <87389mkjwo.fsf@thinkpad-t440p.tsdh.org> <20141114141434.GM3565@embecosm.com> <20141114180521.GA3168@acm.acm> <20141114230235.GF3168@acm.acm> <87r3x3mg5t.fsf@zigzag.favinet> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1416152188 3171 80.91.229.3 (16 Nov 2014 15:36:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Nov 2014 15:36:28 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 16 16:36:21 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xq1sD-0003m9-5w for ged-emacs-devel@m.gmane.org; Sun, 16 Nov 2014 16:36:21 +0100 Original-Received: from localhost ([::1]:44155 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xq1sC-00063g-QH for ged-emacs-devel@m.gmane.org; Sun, 16 Nov 2014 10:36:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43460) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xq1s4-00063M-Bb for emacs-devel@gnu.org; Sun, 16 Nov 2014 10:36:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xq1rz-00071s-2D for emacs-devel@gnu.org; Sun, 16 Nov 2014 10:36:12 -0500 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:43510) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xq1ry-0006zD-R3 for emacs-devel@gnu.org; Sun, 16 Nov 2014 10:36:07 -0500 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NF500N001MG4S00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Sun, 16 Nov 2014 17:36:05 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NF500M2V205TD80@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Sun, 16 Nov 2014 17:36:05 +0200 (IST) In-reply-to: <87r3x3mg5t.fsf@zigzag.favinet> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.169 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:177310 Archived-At: > From: Thien-Thi Nguyen > Date: Sun, 16 Nov 2014 14:25:02 +0100 > > () Alan Mackenzie > () 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.