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

Re: Proposal: branch.<name>.remotepush

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 8, 2013, 06:45 UTC
Message-ID
<7vd2wb483w.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7vliaz49sf.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> ....  I think the triangle
> arrangement where you want to have "this is where I fetch from and
> integrate with, and that is where I publish" is more common among
> the Git users these days.

Another thing to know about is that the recent move to change the behaviour of "git push" to work only on one branch per default may have to be polished and strengthened a bit.

Originally, the encouraged workflow was to perfect _everything_ that you would push out and then with a single "git push" to publish everything at the same time. Both the "matching" behaviour of "git push" which was the default, and the set of push refspecs that is to be defined per remote, were ways to discourage "Work on one branch, think it is OK, hastily push only that branch out, switch to another branch, rinse, repeat".

To support a triangular arrangement well, there may need some thinking on what $branch@{upstream} means. The original intent of the upstream mode specified for "push.default" is push the result back to what you based your work on, but in a triangular arrangement that is no longer true. You may be keeping up with my 'master' by constantly rebasing and then pushing out the result to your 'frotz' topic. You want to have a lazy "git fetch" to fetch from my 'master' (i.e. upstream), and have remotes/origin/master to keep track of it. You want to see "git rebase" to pay attention to the updates to remotes/origin/master when figuring out where you forked. But at the same time, you want a lazy "git push" to go to your push.defaultTo repository (i.e. your publish point) and update your 'frotz' branch there---remotes/origin/master should not come into the picture at all. But the upstream and simple modes want to pay attention to branch.$name.merge, which is all about the "fetch and integrate" side of the equation.

Previous: Jeff KingNext: Jeff King
Message 22 of 25 in “Proposal: branch.<name>.remotepush”
  1. Ramkumar RamachandraFeb 7, 2013
  2. Michael SchubertFeb 7, 2013
  3. Ramkumar RamachandraFeb 7, 2013
  4. Ramkumar RamachandraFeb 7, 2013
  5. Ramkumar RamachandraFeb 7, 2013
  6. Jonathan NiederFeb 7, 2013
  7. Junio C HamanoFeb 7, 2013
  8. Jonathan NiederFeb 8, 2013
  9. Junio C HamanoFeb 8, 2013
  10. Michael J GruberFeb 8, 2013
  11. Junio C HamanoFeb 8, 2013
  12. Junio C HamanoFeb 8, 2013
  13. Ramkumar RamachandraFeb 8, 2013
  14. Junio C HamanoFeb 8, 2013
  15. Jonathan NiederFeb 8, 2013
  16. Ramkumar RamachandraFeb 8, 2013
  17. Junio C HamanoFeb 8, 2013
  18. Ramkumar RamachandraFeb 9, 2013
  19. Jeff KingFeb 8, 2013
  20. Junio C HamanoFeb 8, 2013
  21. Jeff KingFeb 8, 2013
  22. Junio C HamanoFeb 8, 2013
  23. Jeff KingFeb 8, 2013
  24. Junio C HamanoFeb 8, 2013
  25. Ramkumar RamachandraFeb 8, 2013

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.