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

Re: [PATCH] Use parseopts in builtin-fetch

From
Kristian Høgsberg <krh@redhat.com>
Date
Nov 5, 2007, 17:02 UTC
Message-ID
<1194282174.13968.8.camel@hinata.boston.redhat.com>
In-Reply-To
<20071105085513.GB25574@artemis.corp>
On Mon, 2007-11-05 at 09:55 +0100, Pierre Habouzit wrote:
Show 20 quoted lines
> On Mon, Nov 05, 2007 at 03:35:34AM +0000, Daniel Barkalow wrote:
> > I mostly did this and the next one for practice with the API. I'm 
> > impressed that "git fetch -vv" is even handled correctly without anything 
> > special.
> 
>   About that: OPTION_BOOLEAN increments the associated variable, to
> support this case specifically.
> 
>   The last thing that really miss in parse-options is a way to recurse
> into a sub-array of struct option, to be able to port the generic diff
> and revision arguments.
> 
>   Though, there is a difficulty here that I've not yet found how to
> circumvent tastefully: right now options take an absolute pointer to
> _the_ variable that will be filled with values. I need to be able to
> relocate such a structure for sub-arrays for quite obvious reasons, and
> that is quite hard to achieve without hazardous APIs. I currently lean
> in the direction of simply memdup-ing the array and do fix-ups on
> *values pointers. Though how to do that in a graceful way is not obvious
> to me yet :)

What about requiring sub-arrays entries to take a pointer to a struct as their 'value' and requiring that all value pointers in the sub-array be relative to this struct, ie

  (void *) offsetof(struct diff_options, detect_rename)
Then you can have something like
   OPT__SUBARRAY(diff_options, &rev.diff_opt);
in your options array and it will fill out the specified my_diff_opts.

cheers, Kristian

Previous: Pierre HabouzitNext: Daniel Barkalow
Message 5 of 8 in “Use parseopts in builtin-fetch”
  1. Use parseopts in builtin-fetchDaniel Barkalow, Nov 5, 2007
  2. Pierre HabouzitNov 5, 2007
  3. Daniel BarkalowNov 5, 2007
  4. Pierre HabouzitNov 5, 2007
  5. Kristian HøgsbergNov 5, 2007
  6. Daniel BarkalowNov 5, 2007
  7. Junio C HamanoNov 5, 2007
  8. Pierre HabouzitNov 5, 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.