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

Re: git push (mis ?)behavior

From
Steffen Prohaska <prohaska@zib.de>
Date
Sep 28, 2007, 09:26 UTC
Message-ID
<09A90525-8B0B-4249-904C-722BCC544B4E@zib.de>
In-Reply-To
<20070928065823.GB19299@artemis.corp>
On Sep 28, 2007, at 8:58 AM, Pierre Habouzit wrote:
Show 47 quoted lines
> On Fri, Sep 28, 2007 at 06:52:47AM +0000, Steffen Prohaska wrote:
>>
>> On Sep 27, 2007, at 9:22 PM, Junio C Hamano wrote:
>>
>>>
>>> So what's the desired semantics?
>>>
>>> The current semantics is:
>>>
>>>   "git push" says "you do not say to which repository?" and
>>>   consults "branch.<current>.remote" but defaults to 'origin'
>>>   if unconfigured.
>>>
>>>   "git push <name>" (or using the <name> determined as above)
>>>   says "you do not say which branches?" and consults
>>>   "remote.<name>.push" to find branches to push out, but
>>>   defaults to 'matching branches' if unconfigured.
>>>
>>> What you would want to change is the fallback behaviour for
>>> unconfigured "remote.<name>.push".  I think it is sensible to
>>> have an option to make it push only the current branch.
>>
>> I'm not sure that changing the fallback behaviour for unconfigured
>> "remote.<name>.push" is sufficient.
>>
>> When "remote.<name>.push" is set I'd expect "git push" to
>> choose only the 'right' remote.<name>.push lines, that is
>> the lines that have the current branch as the local ref.
>> "git push" would only push the current branch, which could be pushed
>> to 0 or more branches on the remote side. If no "remote.<name>.push"
>> contains the current branch as a local ref nothing would happen
>> (maybe a warning?). If several "remote.<name>.push" have the current
>> branch as the local ref the branch would be pushed to several
>> remote branches. But other branches than the current branch
>> would _never_ be pushed if no argument is given to 'git push'.
>
>   I'm not really sure that it makes sense, as by default, git push  
> won't
> create a new remote ref. So unless you have a branch that matches some
> remote ref, but that you never want to push, even when on it and  
> typing
> git push... there is nothing that could happen by mistake.
>
>   So if you don't want to push such a branch, ever, then you should  
> IMHO
> not name it in a way that it matches a refspec in the first place, and
> be safe.

I could have a couple of local branches typically pushed to a couple of remote branches. "git push origin" would update all remote refs.

But I may also be interested to push only the current branch I'm working on. I may also have some pending fixes on another branch that should not be pushed now. Currently I need to do "git push origin <current>:<someremote>".

Let me put it as a question: How can I push changes from the current branch to all remote refs it is configured to push to via "remote.<name>.push" without pushing anything else at the same time?

	Steffen
Previous: Pierre HabouzitNext: Junio C Hamano
Message 8 of 40 in “git push (mis ?)behavior”
  1. Pierre HabouzitSep 27, 2007
  2. Wincent ColaiutaSep 27, 2007
  3. Benoit SIGOURESep 27, 2007
  4. Junio C HamanoSep 27, 2007
  5. Pierre HabouzitSep 27, 2007
  6. Steffen ProhaskaSep 28, 2007
  7. Pierre HabouzitSep 28, 2007
  8. Steffen ProhaskaSep 28, 2007
  9. Junio C HamanoSep 28, 2007
  10. Steffen ProhaskaSep 28, 2007
  11. Junio C HamanoSep 28, 2007
  12. Steffen ProhaskaSep 28, 2007
  13. Johannes SchindelinSep 28, 2007
  14. Jan HudecOct 9, 2007
  15. Steffen ProhaskaOct 9, 2007
  16. Wincent ColaiutaSep 28, 2007
  17. Miles BaderOct 3, 2007
  18. Junio C HamanoOct 3, 2007
  19. Wincent ColaiutaOct 3, 2007
  20. Miles BaderOct 3, 2007
  21. Pierre HabouzitOct 3, 2007
  22. Miles BaderOct 3, 2007
  23. Pierre HabouzitOct 3, 2007
  24. Wincent ColaiutaOct 3, 2007
  25. Karl HasselströmOct 3, 2007
  26. Junio C HamanoOct 3, 2007
  27. Wincent ColaiutaOct 3, 2007
  28. Karl HasselströmOct 3, 2007
  29. Johannes SchindelinOct 3, 2007
  30. Karl HasselströmOct 3, 2007
  31. Johannes SchindelinOct 3, 2007
  32. Pierre HabouzitOct 3, 2007
  33. Johannes SchindelinOct 3, 2007
  34. Karl HasselströmOct 3, 2007
  35. Steffen ProhaskaOct 4, 2007
  36. Wincent ColaiutaOct 4, 2007
  37. Steffen ProhaskaOct 4, 2007
  38. Wincent ColaiutaOct 4, 2007
  39. Wincent ColaiutaOct 3, 2007
  40. Benoit SIGOUREOct 3, 2007

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.