emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Obscure error/warning/information message from git pull


From: Alan Mackenzie
Subject: Re: Obscure error/warning/information message from git pull
Date: Sat, 15 Nov 2014 19:57:36 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

Hello, David.

On Sat, Nov 15, 2014 at 03:35:35PM +0100, David Kastrup wrote:
> Alan Mackenzie <address@hidden> 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).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]