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

Re: Git user survey and `git pull`

From
Junio C Hamano <junkio@cox.net>
Date
Sep 22, 2006, 04:57 UTC
Message-ID
<7vu0305wh8.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0609211027440.4388@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
Show 15 quoted lines
> I agree that the clarifications from Shawn are probably improvements, but 
> I'd actually like to solve the problem a bit differently. Namely, I was 
> hoping that the per-branch configuration would solve the confusion.
>
> Right now, a plain "git pull" means "fetch all branches and merge the 
> first one", and the thing is, that's generally the right thing _only_ if 
> you pull into "master".
>
> It's usually exactly the _wrong_ thing to do for any other branch. In 
> particular, if you work with a project that has lots of branches, and 
> you're working in another branch (that is directly tracking a remote, for 
> example), doing a "git pull" definitely should _not_ merge the first head. 
> It should fetch everything, and possibly merge the _matching_ head.
>
> Which it doesn't do right now.

I am actually in favor of adding config mechanism that lets you say things like:

  When on branch 'foo':
  - pull without any argument shall use .git/remotes/$that,
    instead of the usual .git/remotes/origin;
  - pull without pathspec arguments shall use the named
    .git/remotes/ file to learn from which URL to fetch from,
    which remote branches to fetch and which local branches to
    store them, but merge $this_and_that remote heads regardless
    of what .git/remotes/ file says;
  - you shall not use "reset" other than resetting to the HEAD;
  - you shall not use "rebase";
  - you shall not merge from $this_and_that branches;
  - your commit identity shall be $whoami, not the usual
    core.user;
I am not motivated enough to do that myself, though.
Previous: Nicolas PitreNext: Santi
Message 5 of 16 in “Git user survey and `git pull`”
  1. Shawn PearceSep 21, 2006
  2. Petr BaudisSep 21, 2006
  3. Linus TorvaldsSep 21, 2006
  4. Nicolas PitreSep 21, 2006
  5. Junio C HamanoSep 22, 2006
  6. SantiSep 22, 2006
  7. Junio C HamanoSep 22, 2006
  8. SantiSep 22, 2006
  9. Nicolas PitreSep 21, 2006
  10. Shawn PearceSep 21, 2006
  11. Johannes SchindelinSep 21, 2006
  12. Jakub NarebskiSep 21, 2006
  13. Matthias UrlichsSep 22, 2006
  14. Alan ChandlerSep 23, 2006
  15. Johannes SchindelinSep 23, 2006
  16. Jakub NarebskiSep 23, 2006

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.