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

From: René Scharfe <[email-masked]>
Date: Thu, 02 Jul 2009 00:00:05 +0200

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(-)