From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Achim Gratz Newsgroups: gmane.emacs.devel Subject: Re: Obscure error/warning/information message from git pull Date: Wed, 19 Nov 2014 13:14:40 +0100 Organization: Linux Private Site Message-ID: <87mw7n8k0f.fsf@Rainer.invalid> References: <20141114180521.GA3168@acm.acm> <20141114230235.GF3168@acm.acm> <20141117141123.GA4294@acm.acm> <83lhn89zxn.fsf@gnu.org> <83bno49xtw.fsf@gnu.org> <20141118224326.GA5167@acm.acm> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1416399329 31315 80.91.229.3 (19 Nov 2014 12:15:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Nov 2014 12:15:29 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 19 13:15:22 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 1Xr4AL-0008Tt-NF for ged-emacs-devel@m.gmane.org; Wed, 19 Nov 2014 13:15:21 +0100 Original-Received: from localhost ([::1]:57762 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr4AK-0003lG-Ni for ged-emacs-devel@m.gmane.org; Wed, 19 Nov 2014 07:15:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr4A1-0003hy-2j for emacs-devel@gnu.org; Wed, 19 Nov 2014 07:15:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xr49u-0001kK-Qi for emacs-devel@gnu.org; Wed, 19 Nov 2014 07:15:01 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:36387) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xr49u-0001k8-K3 for emacs-devel@gnu.org; Wed, 19 Nov 2014 07:14:54 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Xr49s-0008Im-H7 for emacs-devel@gnu.org; Wed, 19 Nov 2014 13:14:52 +0100 Original-Received: from pd9eb05af.dip0.t-ipconnect.de ([217.235.5.175]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Nov 2014 13:14:52 +0100 Original-Received: from Stromeko by pd9eb05af.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Nov 2014 13:14:52 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 49 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: pd9eb05af.dip0.t-ipconnect.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.51 (gnu/linux) Cancel-Lock: sha1:n2WQJIdvTCHmZyK0xoZUj3G19Ak= 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:177739 Archived-At: Alan Mackenzie writes: >> 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. Neither foo nor bar might even have existed at the time commit A was made (or even any of the other commits shown). > 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? Again, the branch diagram tells you nothing about the sequence of events. Your assumption about when something branched off what seems to be based on the sequence of labels A..F. There are no such orderable sequences. E might have been created before F or after, but that is a moot point now that the commits have been entered into the DAG in the order E,F. > If this is indeed the case, it is not surprising that git's abstraction > of branching is so broken. …or your expectation of what branches are is broken. Branch foo consists of a label pointing at commit D and everything reachable from D is on that branch. You can check the _local_ history of such labels in the reflog, but they aren't kept around forever. Git gives you a guarantee that once you have D the DAG will always stay exactly the same no matter what. It doesn't care what branch label or how many are pointing to D as long as D does not become dangling. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds