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

Re: [PATCH 1/2] parse_options: Add flag to prevent errors for further processing

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 23, 2008, 01:45 UTC
Message-ID
<7vod5skjq0.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20080622170733.GA16252@artemis.madism.org>
Pierre Habouzit <madcoder@debian.org> writes:
Show 18 quoted lines
> On Wed, Jun 18, 2008 at 05:13:02AM +0000, Junio C Hamano wrote:
>> Jeff King <peff@peff.net> writes:
>> 
>> > I think the only right way to accomplish this is to convert the revision
>> > and diff parameters into a parseopt-understandable format.
>> 
>> Not necessarily.  You could structure individual option parsers like how
>> diff option parsers are done.  You iterate over argv[], feed diff option
>> parser the current index into argv[] and ask if it is an option diff
>> understands, have diff eat the option (and possibly its parameter) to
>> advance the index, or allow diff option to say "I do not understand this",
>> and then handle it yourself or hand it to other parsers.
>
> If you do that, you need to relocate pars option structures,...
> ... Note that "recursing"
> is not really trivial, because with flags aggregation and stuff like
> that, things that look like an option can also be a value in the context
> of an other option parser.

Note that I was just saying "not necessarily" in response to "the only right way" to point out it is not the _only_ way.

Parse-options has been done in a tablish way and it would involve cost to modify it in a way I outlined (even if such a rewrite would make chaining different set of option parsers easier, as each parser needs to handle only what it knows about and handling aggregation and stuff would become trivial). I do not know if it is worth the cost, and I am not married to the option parser structure that diff and revision part uses.

Previous: Pierre Habouzit
Message 17 of 17 in “[RFC] convert shortlog to use parse_options”
  1. Shawn BohrerJun 18, 2008
  2. 1/2 parse_options: Add flag to prevent errors for further processingShawn Bohrer, Jun 18, 2008
  3. 2/2 git shortlog: Modify to use parse_optionsShawn Bohrer, Jun 18, 2008
  4. Junio C HamanoJun 18, 2008
  5. Jeff KingJun 18, 2008
  6. Jeff KingJun 18, 2008
  7. Junio C HamanoJun 18, 2008
  8. Johannes SchindelinJun 18, 2008
  9. Junio C HamanoJun 18, 2008
  10. Shawn BohrerJun 19, 2008
  11. Johannes SchindelinJun 22, 2008
  12. Junio C HamanoJun 23, 2008
  13. Jeff KingJun 23, 2008
  14. Junio C HamanoJun 23, 2008
  15. Johannes SchindelinJun 23, 2008
  16. Pierre HabouzitJun 22, 2008
  17. Junio C HamanoJun 23, 2008

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.