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

[PATCH 0/6] grep: add option -p/--show-function, similar to diff's

From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Date
Jul 1, 2009, 22:00 UTC
Message-ID
<4A4BDC65.80504@lsrfire.ath.cx>

This patch series retrofits git grep with functionality similar to the diff option -p, which shows the function definitions for diff hunks. git grep is enhanced to show them as context lines before matches, if called with -p. It can be combined with the existing context options (-A, -B, -C).

The first patch is a cleanup. The userdiff API is enhanced to allow freeing of allocated memory, before it is used outside of git diff code, later in the series:

  [PATCH 1/6] userdiff: add xdiff_clear_find_func()

The next three patches massage the context handling code to make it easier to extend:

  [PATCH 2/6] grep: move context hunk mark handling into show_line()
  [PATCH 3/6] grep: print context hunk marks between files
  [PATCH 4/6] grep: handle pre context lines on demand

Finally, handling for the option -p is added and then enhanced to support userdiff configuration settings:

  [PATCH 5/6] grep: add option -p/--show-function
  [PATCH 6/6] grep -p: support user defined regular expressions
 Documentation/git-grep.txt |    8 ++
 builtin-grep.c             |   22 ++++++-
 diff.c                     |    1 +
 grep.c                     |  154 ++++++++++++++++++++++++++++++++------------
 grep.h                     |    4 +
 t/t7002-grep.sh            |   71 ++++++++++++++++++++-
 xdiff-interface.c          |   15 ++++
 xdiff-interface.h          |    1 +
 8 files changed, 232 insertions(+), 44 deletions(-)
Next: René Scharfe
Message 1 of 15 in “grep: add option -p/--show-function, similar to diff's”
  1. 0/6 grep: add option -p/--show-function, similar to diff'sRené Scharfe, Jul 1, 2009
  2. 1/6 userdiff: add xdiff_clear_find_func()René Scharfe, Jul 1, 2009
  3. 2/6 grep: move context hunk mark handling into show_line()René Scharfe, Jul 1, 2009
  4. Junio C HamanoJul 1, 2009
  5. René ScharfeJul 2, 2009
  6. Junio C HamanoJul 2, 2009
  7. 3/6 grep: print context hunk marks between filesRené Scharfe, Jul 1, 2009
  8. 4/6 grep: handle pre context lines on demandRené Scharfe, Jul 1, 2009
  9. 5/6 grep: add option -p/--show-functionRené Scharfe, Jul 1, 2009
  10. Junio C HamanoJul 2, 2009
  11. René ScharfeJul 2, 2009
  12. Junio C HamanoJul 2, 2009
  13. René ScharfeJul 2, 2009
  14. René ScharfeJul 2, 2009
  15. 6/6 grep -p: support user defined regular expressionsRené Scharfe, Jul 1, 2009

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.