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

Re: [Question] Fetching a new branch from remote

From
CBCarl Baldwin <cnb@fc.hp.com>
Date
Dec 2, 2005, 15:50 UTC
Message-ID
<20051202155047.GA14547@hpsvcnb.fc.hp.com>
In-Reply-To
<7vk6eoinqa.fsf@assigned-by-dhcp.cox.net>

The documentation below does make this more clear. Now that you've explained it I can see it useful to fetch a remote head without creating a local one. I simply hadn't thought of this scenerio.

Thank you for the explanation.

Cheers, Carl

On Thu, Dec 01, 2005 at 12:09:01PM -0800, Junio C Hamano wrote:
Show 55 quoted lines
> Carl Baldwin <cnb@fc.hp.com> writes:
> 
> > I would expect this to do it:
> >
> > % git fetch -f <url> new-branch
> >
> > But, it doesn't.
> >
> > Actually, I just noticed that this accomplishes the desired result...
> >
> > % git fetch <url> new-branch:new-branch
> 
> First, '-f' means "allow overriding the fast-forward check when
> updating an existing branch".  This can be done per refspec by
> saying "+rbranch:lbranch" but if you are fetching more than one
> remote branches at once (especially through "remotes" shorthand)
> the option can be used to allow override of all of them.
> 
> A single token <refspec> defaults to "<refspec>:" (meaning,
> "fetch but do not muck with our branches") is deliberate.  When
> I get a pull request "please pull from git://u/r/l/ send2junio branch",
> I do not "git pull git://u/r/l/ send2junio" right away, but do
> "git fetch git://u/r/l/ send2junio" and inspect FETCH_HEAD with
> various combinations of "git diff master..FETCH_HEAD" and
> friends.  I do _not_ want it to create send2junio branch in my
> repository with that.  Also "git pull git://u/r/l/ send2junio"
> would internally run "git fetch git://u/r/l/ send2junio" and
> then runs merge, and I do not want that to create send2junio
> branch in my repository either.  The latter could be prevented by
> adding an extra flag to git-fetch to tell it not to default
> a single token <refspec> to "<refspec>:<refspec>" and pass that
> flag from git-pull, though.
> 
> I just found out that the documentation for '-f' flag is simply
> missing.  I'd propose to add the following.  Thanks for noticing.
> 
> -- >8 --
> diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
> index a25d04a..200c9b2 100644
> --- a/Documentation/fetch-options.txt
> +++ b/Documentation/fetch-options.txt
> @@ -4,6 +4,11 @@
>  	option old data in `.git/FETCH_HEAD` will be overwritten.
>  
>  -f, \--force::
> +	When `git-fetch` is used with `<rbranch>:<lbranch>`
> +	refspec, it refuses to update the local branch
> +	`<lbranch>` unless the remote branch `<rbranch>` it
> +	fetches is a descendant of `<lbranch>`.  This option
> +	overrides that check.
>  
>  -t, \--tags::
>  	By default, the git core utilities will not fetch and store
> 
> 
-- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Carl Baldwin                        Systems VLSI Laboratory
 Hewlett Packard Company
 MS 88                               work: 970 898-1523
 3404 E. Harmony Rd.                 work: Carl.N.Baldwin@hp.com
 Fort Collins, CO 80525              home: Carl@ecBaldwin.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Previous: Jon Loeliger
Message 4 of 4 in “[Question] Fetching a new branch from remote”
  1. Carl BaldwinNov 28, 2005
  2. Junio C HamanoDec 1, 2005
  3. Jon LoeligerDec 1, 2005
  4. Carl BaldwinDec 2, 2005

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.