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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Fri Dec 02 07:09:38 2005
This archive was generated by hypermail 2.1.8 : 2005-12-02 07:09:46 EST