From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Obscure error/warning/information message from git pull Date: Wed, 19 Nov 2014 11:08:05 +0100 Organization: Organization?!? Message-ID: <87wq6rh5a2.fsf@fencepost.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> <20141117141123.GA4294@acm.acm> <83lhn89zxn.fsf@gnu.org> <83bno49xtw.fsf@gnu.org> <83sihf97hm.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1416391729 32580 80.91.229.3 (19 Nov 2014 10:08:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Nov 2014 10:08:49 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 19 11:08:40 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 1Xr2Bi-00055J-4M for ged-emacs-devel@m.gmane.org; Wed, 19 Nov 2014 11:08:38 +0100 Original-Received: from localhost ([::1]:57299 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr2Bh-0001Qj-MD for ged-emacs-devel@m.gmane.org; Wed, 19 Nov 2014 05:08:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr2BY-0001Pq-TH for emacs-devel@gnu.org; Wed, 19 Nov 2014 05:08:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xr2BS-0000ot-43 for emacs-devel@gnu.org; Wed, 19 Nov 2014 05:08:28 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:57050) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr2BR-0000no-UG for emacs-devel@gnu.org; Wed, 19 Nov 2014 05:08:22 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Xr2BO-0004yp-Px for emacs-devel@gnu.org; Wed, 19 Nov 2014 11:08:18 +0100 Original-Received: from x2f46629.dyn.telefonica.de ([2.244.102.41]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Nov 2014 11:08:18 +0100 Original-Received: from dak by x2f46629.dyn.telefonica.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Nov 2014 11:08:18 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 54 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: x2f46629.dyn.telefonica.de X-Face: 2FEFf>]>q>2iw=B6, xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN; i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:RgoalJGTzL1oRmoTFNvjwlMg9M4= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:177729 Archived-At: Eli Zaretskii writes: >> Date: Tue, 18 Nov 2014 16:59:58 -0500 >> From: John Yates >> Cc: Sergey Organov , Emacs developers >> On Tue, Nov 18, 2014 at 1:18 PM, Eli Zaretskii wrote: >> >> 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. >> >> Earlier VCS often had more reified branches. A phrase that crops up a >> lot in git descriptions is "lightweight branching". This was achieved >> by paring back the branch concept - leaving nothing more than the nodes >> reachable from a named ref - and by making ref manipulation very common. >> >> When contrasting git to earlier VCS in none of the git intros I have >> read have I seen that particular point made. > > You are again talking about differences in implementation. "Branch" > the concept does not change a bit, no matter what VCS are you using. When "Branch the concept" leads you to conclude "this can't happen" for things that clearly can, it is of moderate usefulness. In a Git repository, the branching structure evolves. The original branches something was committed on may no longer exist (this is the rule rather than the exception for user-committed changes "directly" in master). In Git, a branch is a throwaway entity, created on a whim, renamed, moved, merged, rebased on a whim. In CVS, it was something really expensive IIRC. Git has a record of the "real history". This record is kept in "reflogs" which are periodically cleaned out, are ephemeral, limited to local access and tied into one particular repository. The reflogs are good for analyzing major oopses and recovering from them. But they are not part of the _distributed_ version control. Reflogs contain the _actual_ history. In contrast, everything one shares with others is a deliberate, vetted history. And that's what on public and shared record. This deliberate vetted history does not include information about what branch some commit originated from. You may put something about it in the commit message, but it is not part of the automatically managed metadata. Keeping it consistent would be really hard, and Git does not even try. Pretending that it must nevertheless be a part of Git's concepts does not really buy you anything. You cannot make useful deductions about Git's behavior based on theories that ascribe magic properties to branches that have no reflection in the data Git actually stores. -- David Kastrup