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: Sat, 15 Nov 2014 19:57:36 +0000 Message-ID: <20141115195736.GB3378@acm.acm> References: <20141114180521.GA3168@acm.acm> <20141114230235.GF3168@acm.acm> <87lhncoqrp.fsf@fencepost.gnu.org> <83389khn1g.fsf@gnu.org> <87h9y0omii.fsf@fencepost.gnu.org> <83vbmgg57x.fsf@gnu.org> <878ujcoj0k.fsf@fencepost.gnu.org> <20141115120506.GA3581@acm.acm> <87r3x4mszs.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1416081521 22004 80.91.229.3 (15 Nov 2014 19:58:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Nov 2014 19:58:41 +0000 (UTC) Cc: Eli Zaretskii , emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 15 20:58:34 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 1XpjUM-0008Uy-GO for ged-emacs-devel@m.gmane.org; Sat, 15 Nov 2014 20:58:30 +0100 Original-Received: from localhost ([::1]:41816 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XpjUL-0006Yo-RF for ged-emacs-devel@m.gmane.org; Sat, 15 Nov 2014 14:58:29 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50187) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XpjUD-0006Wp-E0 for emacs-devel@gnu.org; Sat, 15 Nov 2014 14:58:27 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XpjU4-0007zu-8G for emacs-devel@gnu.org; Sat, 15 Nov 2014 14:58:21 -0500 Original-Received: from colin.muc.de ([193.149.48.1]:28530 helo=mail.muc.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XpjU3-0007zl-Vg for emacs-devel@gnu.org; Sat, 15 Nov 2014 14:58:12 -0500 Original-Received: (qmail 42661 invoked by uid 3782); 15 Nov 2014 19:58:10 -0000 Original-Received: from acm.muc.de (pD951BEFE.dip0.t-ipconnect.de [217.81.190.254]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sat, 15 Nov 2014 20:58:09 +0100 Original-Received: (qmail 3931 invoked by uid 1000); 15 Nov 2014 19:57:36 -0000 Content-Disposition: inline In-Reply-To: <87r3x4mszs.fsf@fencepost.gnu.org> 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:177240 Archived-At: Hello, David. On Sat, Nov 15, 2014 at 03:35:35PM +0100, David Kastrup wrote: > Alan Mackenzie writes: > > So "git clone" is defined in terms of "clone". Looks like a recursive > > "definition" to me - part of what "git clone" does is to "clone[s] a > > repository". There then follows an incoherent list of the form "does > > A, then does B, then does C, ...". > > What is missing is a definition of "clone". It would appear to mean > > "make a partial copy of". > No. Your copy is a complete copy of everything you ask for. If you > don't clone a particular branch, for example, by using a single-branch > clone, that branch will not magically be in your repository. After a "git clone", the copy is not the same as the original. In particular, branches are not preserved. I don't know, as yet, what else fails to be copied, but I have no great confidence in the documentation to tell me. A branch foo in a repository degrades to remotes/origin/foo when that repository is "cloned", and, failing special action to save it, disappears altogether in a second generation "clone". Thus in my repository .../emacs-24, "cloned" from .../master, the emacs-23 branch is irretrievably lost. "git clone" makes a partial copy of a repository. It does not duplicate it. "Clone", as a verb, means "duplicate"; it never means "truncate". > > Please correct me if I'm mistaken here, but I think my "git clone"ing > > of the repository at savannah only partially copied that repository, > > thus I have an incomplete copy of it. > It depends on what you cloned. It will clone exactly what you asked it > to clone. If you chose not to clone some branches, they will not be in > your repository. I chose to clone a repository. git did not do this for me. > > So git's concept of "distributed vcs" is that the repository is > > collectively stored across many computers, as contrasted with bzr's > > and hg's model where the complete repository is stored on each > > participating computer. > Nonsense. _Everything_ you asked for is stored on your computer. Git > does not maintain any data off-computer. This is confusing. Is it the case that branches labelled "remotes/origin/..." are completely contained within the same repository? Is there anywhere in the git documentation, or elsewhere, which lists what entities are preserved by "git clone", and which ones are deleted or modified? > > And a subsequent git checkout will require access, possibly net > > access, to the repository from which the current one was copied, yes? > No. checkouts are a strictly local operation. > -- > David Kastrup -- Alan Mackenzie (Nuremberg, Germany).