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

Re: [PATCH 2/3] cmd_push: pass "flags" pointer to config callback

From
Jeff King <peff@peff.net>
Date
Feb 16, 2015, 07:16 UTC
Message-ID
<20150216071638.GA818@peff.net>
In-Reply-To
<xmqqr3tq72ui.fsf@gitster.dls.corp.google.com>
On Sun, Feb 15, 2015 at 11:05:57PM -0800, Junio C Hamano wrote:
Show 8 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > This will let us manipulate any transport flags which have matching
> > config options (there are none yet, but we will add one in
> > the next patch).
> 
> Nice---this will later lets us do push.atomic if we really wanted
> to, right?
Yes, exactly. Or push.signed, or whatever.
Show 10 quoted lines
> > To be honest, the whole do_push is confusing to me. It seems like that
> > should just be part of cmd_push.
> 
> Yeah, that part of the push callchain always confuses me every time
> I look at it.  I think it was a consequence of how transport layer
> was wedged into the existing codepath that only handled push that
> called send-pack to unify the codepaths that push calls into
> different transport backends, and we may have done it differently
> and more cleanly if we were designing the push to transport to
> backends from scratch.

I took a very cursory look at folding do_push into cmd_push. It's not _too_ bad. You wouldn't want to fold push_with_options in, as that gets called from a loop (you could make it the loop body, but I think it is more clear as-is).

However, it is really do_push which continues to manipulate the flags and set up the push, so that is the bit that should be folded in. And then it would be fine to make transport_flags a global, and push_with_options could just use it directly, I think.

-Peff
Previous: Junio C HamanoNext: Jeff King
Message 22 of 29 in “push: allow --follow-tags to be set by config push.followTags”
  1. push: allow --follow-tags to be set by config push.followTagsDave Olszewski, Feb 16, 2015
  2. Jeff KingFeb 16, 2015
  3. 0/2 clean up push config callbacksJeff King, Feb 16, 2015
  4. 1/2 git_push_config: drop cargo-culted wt_status pointerJeff King, Feb 16, 2015
  5. 2/2 builtin/push.c: make push_default a static variableJeff King, Feb 16, 2015
  6. Junio C HamanoFeb 16, 2015
  7. Jeff KingFeb 17, 2015
  8. Junio C HamanoFeb 17, 2015
  9. Jeff KingFeb 17, 2015
  10. Junio C HamanoFeb 17, 2015
  11. Jeff KingFeb 18, 2015
  12. Junio C HamanoFeb 18, 2015
  13. Jeff KingFeb 18, 2015
  14. Junio C HamanoFeb 18, 2015
  15. Jeff KingFeb 18, 2015
  16. 3/2 push: allow --follow-tags to be set by config push.followTagsJeff King, Feb 16, 2015
  17. Junio C HamanoFeb 16, 2015
  18. 0/3 cleaner bit-setting in cmd_pushJeff King, Feb 16, 2015
  19. 1/3 cmd_push: set "atomic" bit directlyJeff King, Feb 16, 2015
  20. 2/3 cmd_push: pass "flags" pointer to config callbackJeff King, Feb 16, 2015
  21. Junio C HamanoFeb 16, 2015
  22. Jeff KingFeb 16, 2015
  23. 3/3 push: allow --follow-tags to be set by config push.followTagsJeff King, Feb 16, 2015
  24. Junio C HamanoMar 14, 2015
  25. Jeff KingMar 14, 2015
  26. Dave OlszewskiMar 14, 2015
  27. Junio C HamanoMar 14, 2015
  28. Junio C HamanoFeb 16, 2015
  29. Jeff KingFeb 16, 2015

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.