git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Question about "git pull --rebase"

From
FMFrancis Moreau <francis.moro@gmail.com>
Date
Nov 16, 2009, 12:00 UTC
Message-ID
<38b2ab8a0911160400w8eaf3afjf53077e969e8c0f5@mail.gmail.com>
In-Reply-To
<4B006549.8050803@gmail.com>
On Sun, Nov 15, 2009 at 9:32 PM, Johan 't Hart <johanthart@gmail.com> wrote:
Show 21 quoted lines
> Junio C Hamano schreef:
>>
>> Johan 't Hart <johanthart@gmail.com> writes:
>>>>
>>>> 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 :)
>
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
Previous: Johan 't HartNext: Francis Moreau
Message 9 of 10 in “Question about "git pull --rebase"”
  1. Francis MoreauNov 14, 2009
  2. Nanako ShiraishiNov 14, 2009
  3. Francis MoreauNov 15, 2009
  4. Johan 't HartNov 14, 2009
  5. Francis MoreauNov 15, 2009
  6. Johan 't HartNov 15, 2009
  7. Junio C HamanoNov 15, 2009
  8. Johan 't HartNov 15, 2009
  9. Francis MoreauNov 16, 2009
  10. Francis MoreauNov 16, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.