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

Re: [PATCH 5/6] log: pass rev_info to git_log_config()

From
Jeff King <peff@peff.net>
Date
Oct 5, 2012, 15:33 UTC
Message-ID
<20121005153341.GA24957@sigill.intra.peff.net>
In-Reply-To
<7vk3v5v9ip.fsf@alter.siamese.dyndns.org>
On Thu, Oct 04, 2012 at 09:16:14PM -0700, Junio C Hamano wrote:
Show 26 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > So we would need to do something like:
> >
> >     - call git_log_config() first to let diff_context_default
> >       updated from the configuration as before.  find the values of
> >       grep.* defaults at the same time, but stash it away in a
> >       separate "struct grep_opt" (yuck);
> >
> >     - call init_revisions() and let it initialize revs->grep_filter
> >       and revs->diffopt as before;
> >
> >     - copy the grep.* defaults we learned during git_log_config() to
> >       revs->grep_filter.
> >
> > which is a bit yucky, but survivable.
> 
> After thinking about it a bit more, I came to a conclusion that the
> configuration handling lifted from builtin/grep.c needs a much
> larger overhaul.
> [...]
> The right way to arrange your configuration callback is probably to
> model it after how diff configuration variables are handled.  You
> call git_config() once, and remember the values you read in set of
> static variables. Later, whenever you need to instantiate a grep_opt,
> you initialize it from these static variables.

Agreed. Maybe the simplest thing would be to have grep_config fill in a "static struct grep_opt grep_defaults", and then memcpy that into place during init_revisions?

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 17 of 23 in “[ANNOUNCE] Git v1.8.0-rc0”
  1. Junio C HamanoOct 1, 2012
  2. grep.patternType (was: Re: [ANNOUNCE] Git v1.8.0-rc0)Junio C Hamano, Oct 3, 2012
  3. Junio C HamanoOct 3, 2012
  4. Michal KiedrowiczOct 4, 2012
  5. J SmithOct 5, 2012
  6. 0/6 Tying loose ends of extended "grep"Junio C Hamano, Oct 4, 2012
  7. 1/6 grep: move configuration support to top-level grep.[ch]Junio C Hamano, Oct 4, 2012
  8. 2/6 grep: move pattern-type bits support to top-level grep.[ch]Junio C Hamano, Oct 4, 2012
  9. 3/6 log --grep: use the same helper to set -E/-F options as "git grep"Junio C Hamano, Oct 4, 2012
  10. Jeff KingOct 4, 2012
  11. 4/6 log --grep: accept --basic-regexp and --perl-regexpJunio C Hamano, Oct 4, 2012
  12. Jeff KingOct 4, 2012
  13. Junio C HamanoOct 4, 2012
  14. 5/6 log: pass rev_info to git_log_config()Junio C Hamano, Oct 4, 2012
  15. Junio C HamanoOct 4, 2012
  16. Junio C HamanoOct 5, 2012
  17. Jeff KingOct 5, 2012
  18. Junio C HamanoOct 5, 2012
  19. 6/6 log --grep: honor grep.patterntype etc. configuration variablesJunio C Hamano, Oct 4, 2012
  20. Jeff KingOct 4, 2012
  21. Junio C HamanoOct 4, 2012
  22. Jeff KingOct 4, 2012
  23. Junio C HamanoOct 4, 2012

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.