From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Obscure error/warning/information message from git pull Date: Tue, 18 Nov 2014 22:43:26 +0000 Message-ID: <20141118224326.GA5167@acm.acm> References: <20141114180521.GA3168@acm.acm> <20141114230235.GF3168@acm.acm> <20141117141123.GA4294@acm.acm> <83lhn89zxn.fsf@gnu.org> <83bno49xtw.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1416350671 6811 80.91.229.3 (18 Nov 2014 22:44:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 18 Nov 2014 22:44:31 +0000 (UTC) Cc: emacs-devel@gnu.org To: Sergey Organov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 18 23:44:24 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 1XqrVX-0005na-MG for ged-emacs-devel@m.gmane.org; Tue, 18 Nov 2014 23:44:23 +0100 Original-Received: from localhost ([::1]:55774 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XqrVX-0006xm-B1 for ged-emacs-devel@m.gmane.org; Tue, 18 Nov 2014 17:44:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58736) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XqrVG-0006xT-OW for emacs-devel@gnu.org; Tue, 18 Nov 2014 17:44:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XqrVA-0004yV-Sh for emacs-devel@gnu.org; Tue, 18 Nov 2014 17:44:06 -0500 Original-Received: from colin.muc.de ([193.149.48.1]:58996 helo=mail.muc.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XqrVA-0004xp-JM for emacs-devel@gnu.org; Tue, 18 Nov 2014 17:44:00 -0500 Original-Received: (qmail 78713 invoked by uid 3782); 18 Nov 2014 22:43:58 -0000 Original-Received: from acm.muc.de (pD951BE3D.dip0.t-ipconnect.de [217.81.190.61]) by colin.muc.de (tmda-ofmipd) with ESMTP; Tue, 18 Nov 2014 23:43:57 +0100 Original-Received: (qmail 5220 invoked by uid 1000); 18 Nov 2014 22:43:27 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 8.x X-Received-From: 193.149.48.1 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:177689 Archived-At: Hello, Sergey. On Tue, Nov 18, 2014 at 11:57:34PM +0300, Sergey Organov wrote: > Eli Zaretskii writes: > >> It's the latter that I've tried to help to achieve. Sorry if I > >> failed. > > You cannot help people understand new tools if you start by telling > > them to forget everything they've learned. You should instead build > > on what they know, or think they know, gradually replacing that with > > new knowledge. > Sorry, but I really think that to better understand Git, one should > forget, at least temporarily, some things she learned from other VCSes. > Then after she gets what, say, "branch" means to Git, she can tweak her > previous knowledge to fit. You must also admit that git is at fault here for misusing common words. A "branch" in English is not and cannot mean a "tip of a branch". Yet git has twisted the language such that this has become its meaning. And any cultured person must suppress his revulsion at such abuse as part of the cost of learning git. YUCK! > > Regardless, the concept of "branch" as a separate line of development > > is not killed by Git. It's just that a branch can be named by its > > tip, and vice versa. > >> My point is that branch name doesn't represent anything else but > >> particular reference to particular commit in Git. > > No, it also represents all the previous commits made on that branch > > that are reachable through first-parents. > Well, given the following history (time goes from left to right): > - C - D <- foo > / > ... - A - B > \ > - E - F <- bar > what branch commit A was made on, 'foo' or 'bar'? Quite clearly, A was committed on branch foo, since bar didn't exist at that time. > You see, you should have had no "made on that branch" in your > description, provided you describe Gits' idea of a branch, not your one, > as Git does not remember on what branch commit was made. Are you saying that at B, when bar is branched from foo, git discards all information about this branching, remembering only that there are two branches which are henceforth of fully equal status where before there was just one? If this is indeed the case, it is not surprising that git's abstraction of branching is so broken. > -- > Sergey. -- Alan Mackenzie (Nuremberg, Germany).