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

Re: sub-fetches discard --ipv4|6 option

From
Alex Riesen <alexander.riesen@cetitec.com>
Date
Sep 15, 2020, 14:06 UTC
Message-ID
<20200915140613.GB18984@pflmari>
In-Reply-To
<20200915130506.GA2839276@coredump.intra.peff.net>
Jeff King, Tue, Sep 15, 2020 15:05:06 +0200:
Show 23 quoted lines
> On Tue, Sep 15, 2020 at 01:50:25PM +0200, Alex Riesen wrote:
> 
> > > So your patch above looks quite sensible (modulo useful bits like a
> > > signoff and maybe a test, though I guess the impact of those options
> > > is probably hard to cover in our tests).
> > 
> > I tried to come up with one, but (aside from rather pointless checking of
> > option presence in the trace output) failed to.
> > 
> > Or may be precisely this could be the point of the test: just do a fetch with
> > all options we intend to pass down to sub-fetches and check that they are
> > indeed present in the invocation of fetch --all/--multiple/--recurse-submodules?
> 
> Unfortunately I don't think that accomplishes much, since the main bug
> we're worried about is missing options. And it would require somebody
> adding the new options to the test, at which point you could just assume
> they would add it to add_options_to_argv().
> 
> Though I guess we can automatically get the list of options these days.
> So perhaps something like:
> 
>   subopts=
>   for opt in $(git fetch --git-completion-helper)
...
Show 7 quoted lines
> Except that doesn't quite work, because the parent fetch will complain
> about nonsense values (e.g., --filter=1). So it would probably need a
> bit more manual intelligence to cover those options. It looks like some
> options are mutually exclusive, too (--deepen/--depth), so maybe we'd
> need to run an individual "fetch --all" for each option.
> 
> I dunno. It's getting pretty complicated. :)

It does :-( And the manual parts will require perpetual maintenance. Not doing that yet than.

Show 13 quoted lines
> > > It is rather unfortunate that anybody adding new fetch options needs to
> > > remember to (maybe) add them to add_options_to_argv() themselves.
> > 
> > Maybe make add_options_to_argv to go through builtin_fetch_options[] and copy
> > the options with a special marker if they were provided?
> > And use the word "recursive" in help text as the marker :)
> 
> Yeah, that would solve the duplication problem. We could probably add a
> "recursive" bit to the parse-options flag variable. Even if
> parse-options itself doesn't use it, it could be a convenience for
> callers like this one. It is a little inconvenient to set flags there,
> just because it usually means ditching our wrapper macros in favor of a
> raw struct declaration.
Or extend the list of wrappers with _REC(URSIVE) macros

Regards, Alex

Previous: Jeff KingNext: Jeff King
Message 11 of 49 in “sub-fetches discard --ipv4|6 option”
  1. Alex RiesenSep 14, 2020
  2. Jeff KingSep 14, 2020
  3. Alex RiesenSep 15, 2020
  4. Pass --ipv4 and --ipv6 options to sub-fetches when fetching multiple remotes and submodulesAlex Riesen, Sep 15, 2020
  5. Junio C HamanoSep 15, 2020
  6. Alex RiesenSep 16, 2020
  7. Jeff KingSep 15, 2020
  8. Junio C HamanoSep 16, 2020
  9. Alex RiesenSep 16, 2020
  10. Jeff KingSep 15, 2020
  11. Alex RiesenSep 15, 2020
  12. Jeff KingSep 15, 2020
  13. Junio C HamanoSep 15, 2020
  14. Jeff KingSep 15, 2020
  15. Junio C HamanoSep 15, 2020
  16. Jeff KingSep 16, 2020
  17. Junio C HamanoSep 16, 2020
  18. Alex RiesenSep 15, 2020
  19. Jeff KingSep 16, 2020
  20. Alex RiesenSep 17, 2020
  21. Jeff KingSep 22, 2020
  22. config: option transfer.ipversion to set transport protocol version for network fetchesAlex Riesen, Sep 15, 2020
  23. Jeff KingSep 16, 2020
  24. Alex RiesenSep 17, 2020
  25. Config option to set the transport protocol version for network fetchesAlex Riesen, Sep 17, 2020
  26. Jeff KingSep 17, 2020
  27. Alex RiesenSep 17, 2020
  28. Jeff KingSep 17, 2020
  29. Alex RiesenSep 17, 2020
  30. Junio C HamanoDec 22, 2020
  31. Alex RiesenJan 7, 2021
  32. Alex RiesenSep 17, 2020
  33. Alex RiesenSep 17, 2020
  34. Junio C HamanoSep 16, 2020
  35. Jeff KingSep 16, 2020
  36. Junio C HamanoSep 16, 2020
  37. Junio C HamanoSep 16, 2020
  38. Jeff KingSep 17, 2020
  39. Junio C HamanoSep 17, 2020
  40. Junio C HamanoSep 16, 2020
  41. Alex RiesenSep 17, 2020
  42. Junio C HamanoSep 17, 2020
  43. Alex RiesenSep 18, 2020
  44. Junio C HamanoSep 18, 2020
  45. Alex RiesenSep 21, 2020
  46. Jeff KingSep 22, 2020
  47. Alex RiesenSep 17, 2020
  48. Alex RiesenSep 17, 2020
  49. Junio C HamanoSep 14, 2020

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.