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

[PATCH 0/6] Tying loose ends of extended "grep"

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 4, 2012, 01:33 UTC
Message-ID
<1349314419-8397-1-git-send-email-gitster@pobox.com>
In-Reply-To
<7v626r48cv.fsf@alter.siamese.dyndns.org>

Over time we have added a few things to our "git grep" front-end, such as

 - grep.extendedregexp configuration (v1.7.5)
 - use of pcre (v1.7.6)
 - grep.patterntype configuration (v1.8.0)

But all the time, we forgot that "git log --grep" would need to honor them.

The first three patches should be uncontroversial. We move helpers out of builtin/grep.c to a more generic place, and fix a bug in the command line parser for "git log -F -E --grep='<ere>'" (this did not correctly enable regular expression).

The fourth patch adds "git log --perl-regexp --grep='<pcre>'".

The last two teaches "log --grep" to honor the same grep.* configuration variables.

color.grep and grep.linenumber should not matter, as the use of grep mechanism in "log --grep" is about boolean result "do we have hits?" and not about actually showing the hits in the output, but the users would expect that grep.extendedregexp and its more generalized version grep.patterntype are honored, which was not the case.

Junio C Hamano (6):
  grep: move configuration support to top-level grep.[ch]
  grep: move pattern-type bits support to top-level grep.[ch]
  log --grep: use the same helper to set -E/-F options as "git grep"
  log --grep: accept --basic-regexp and --perl-regexp
  log: pass rev_info to git_log_config()
  log --grep: honor grep.patterntype etc. configuration variables
 builtin/grep.c | 105 ++-------------------------------------------------------
 builtin/log.c  |  19 +++++------
 grep.c         |  99 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 grep.h         |   3 ++
 revision.c     |   8 +++--
 t/t4202-log.sh |   6 ++++
 6 files changed, 126 insertions(+), 114 deletions(-)
-- 
1.8.0.rc0.57.g712528f
Previous: J SmithNext: Junio C Hamano
Message 6 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.