Johan 't Hart [off-list ref] writes:
Francis Moreau schreef:
quoted
Looks like you did :)
I've been somehow confused by the git-pull man page, which says:
A parameter <ref> without a colon is equivalent to <ref>: when
pulling/fetching, so it merges <ref> into the current branch without
storing the remote branch anywhere locally
So I thought that both of the commands were equivalent for 'git pull
--rebase'.
Thanks for the explanation.
Ah that part.
It means that
$ git pull --rebase origin master
means the same as:
$ git pull --rebase origin master:
(note extra colon at the end)
But not as:
$ git pull --rebase origin master:foo
It means that, when you give a refspec without a colon, it is the same
as the refspec with the colon and without the right side.
Thanks for clearing it up.
I was puzzled by the above pointing-finger because I wanted to see where a
misinformation originated from to fix it at the source. But still don't
see anything wrong with it.
Perhaps there was some other part of the manual that confused Francis to
think master: and master:foo are equivalent in that context? I somehow
doubt it, but if there is one, we would need to fix that
In a separate thread, Thomas reported a gross misinformation in github
wiki he recently fixed:
From: Thomas Rast [off-list ref]
Subject: Re: [PATCH] pull: refuse complete src:dst fetchspec arguments
Date: Sun, 15 Nov 2009 13:24:03 +0100
Message-ID: [off-list ref]
Perhaps that page had some impact on this misunderstanding?
Junio C Hamano schreef:
Johan 't Hart [off-list ref] writes:
quoted
quoted
I've been somehow confused by the git-pull man page, which says:
A parameter <ref> without a colon is equivalent to <ref>: when
pulling/fetching, so it merges <ref> into the current branch without
storing the remote branch anywhere locally
Thanks for clearing it up.
I was puzzled by the above pointing-finger because I wanted to see where a
misinformation originated from to fix it at the source. But still don't
see anything wrong with it.
My guess is that he was confused by '<ref>:' not meaning '<ref>:<ref>'.
But I can't speak for him ofcource :)
Refspecs confused me too at the beginning... But knowing more and more
about git, it seems that this part of the docs look OK to me.. At most
an example might make things a little more clear, but I doubt it is
necessary.
On Sun, Nov 15, 2009 at 9:32 PM, Johan 't Hart [off-list ref] wrote:
Junio C Hamano schreef:
quoted
Johan 't Hart [off-list ref] writes:
quoted
quoted
I've been somehow confused by the git-pull man page, which says:
A parameter <ref> without a colon is equivalent to <ref>: when
pulling/fetching, so it merges <ref> into the current branch without
storing the remote branch anywhere locally
quoted
Thanks for clearing it up.
I was puzzled by the above pointing-finger because I wanted to see where a
misinformation originated from to fix it at the source. But still don't
see anything wrong with it.
My guess is that he was confused by '<ref>:' not meaning '<ref>:<ref>'. But
I can't speak for him ofcource :)
Well, I don't remember how I started to think that:
<src>:
was equivalent to
<src>:<current-branch>
so, assuming I'm on branch 'foo':
$ git pull --rebase origin master:
was equivalent to
$ git pull --rebase origin master:foo
hence my confusion, which certainly due to my lack of attention
(sorry) when reading the man page.
Refspecs confused me too at the beginning... But knowing more and more about
git, it seems that this part of the docs look OK to me.. At most an example
might make things a little more clear, but I doubt it is necessary.
Perhaps, the definition of a refspec with an empty string for <dst>
might be clearer if defined on its own. For example, doing this in the
git-pull man page:
<refspec>
The format of a <refspec> parameter is an ....
The remote ref that matches <src> is fetched,
if <dst> is not empty string, the local ref that
matches it is fast
forwarded using <src>. If the optional plus + is
used, the local ref is
updated even if it does not result in a fast forward update.
if <dst> is an empty string the fetched <src> is
merged into the
current branch without updating any local refs. In
this case the
optional + has no meaning.
Note
....
Some short-cut notations are also supported.
. A parameter <src> (<ref> without the ':<dst>' part)
is equivalent
to '<src>:' (a ref with an empty string for <dst>).
--
Francis