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

Re: [PATCH 2/2] grep.c: teach 'git grep --only-matching'

From
Jeff King <peff@peff.net>
Date
Jun 28, 2018, 18:32 UTC
Message-ID
<20180628183231.GA12657@sigill.intra.peff.net>
In-Reply-To
<f156bd7c897359926ec407e805ecb0630a8b12da.1529961706.git.me@ttaylorr.com>
On Mon, Jun 25, 2018 at 04:26:00PM -0500, Taylor Blau wrote:
Show 10 quoted lines
> For instance, a line containing the following (taken from README.md:27):
> 
>   (`man gitcvs-migration` or `git help cvs-migration` if git is
> 
> Is printed as follows:
> 
>   $ git grep -no -e git -- README.md | grep ":27"
>   README.md:27:7:git
>   README.md:27:16:git
>   README.md:27:38:git
This is with "--column", too, right?
> Like GNU grep, this patch ignores --only-matching when --invert (-v) is
> given. There is a sensible answer here, but parity with the behavior of
> other tools is preferred.

Yeah, after all of our discussion about inverted matching and columns, I'm sure we could come up with _some_ answer. But I agree that what you have here is quite sensible, and matching GNU grep seems like a good idea.

Show 6 quoted lines
> ---
>  builtin/grep.c  |  6 ++++++
>  grep.c          | 48 +++++++++++++++++++++++++++++++++---------------
>  grep.h          |  1 +
>  t/t7810-grep.sh | 15 +++++++++++++++
>  4 files changed, 55 insertions(+), 15 deletions(-)

The patch itself looks pretty straightforward to me (especially with "-w"). I didn't hit the compiler warning that Junio did (I have gcc 7.3.0). But I agree it's better to avoid even passing an uninitialized variable to another function.

-Peff
Previous: Taylor BlauNext: Taylor Blau
Message 8 of 28 in “grep.c: teach --only-matching to 'git-grep(1)'”
  1. 0/2 grep.c: teach --only-matching to 'git-grep(1)'Taylor Blau, Jun 25, 2018
  2. 1/2 grep.c: extract show_line_header()Taylor Blau, Jun 25, 2018
  3. 2/2 grep.c: teach 'git grep --only-matching'Taylor Blau, Jun 25, 2018
  4. Junio C HamanoJun 27, 2018
  5. Taylor BlauJun 27, 2018
  6. Junio C HamanoJun 27, 2018
  7. Taylor BlauJun 27, 2018
  8. Jeff KingJun 28, 2018
  9. 0/2 teach --only-matching to 'git-grep(1)'Taylor Blau, Jul 2, 2018
  10. 1/2 grep.c: extract show_line_header()Taylor Blau, Jul 2, 2018
  11. 2/2 grep.c: teach 'git grep --only-matching'Taylor Blau, Jul 2, 2018
  12. Jeff KingJul 3, 2018
  13. Jeff KingJul 3, 2018
  14. Junio C HamanoJul 3, 2018
  15. 0/2 grep.c: teach --only-matching to 'git-grep(1)'Taylor Blau, Jul 3, 2018
  16. 1/2 grep.c: extract show_line_header()Taylor Blau, Jul 3, 2018
  17. 2/2 grep.c: teach 'git grep --only-matching'Taylor Blau, Jul 3, 2018
  18. grep.c: teach 'git grep --only-matching'Taylor Blau, Jul 4, 2018
  19. Taylor BlauJul 4, 2018
  20. Junio C HamanoJul 6, 2018
  21. Jeff KingJul 5, 2018
  22. Taylor BlauJul 5, 2018
  23. Junio C HamanoJul 6, 2018
  24. Taylor BlauJul 6, 2018
  25. Jeff KingJul 6, 2018
  26. Junio C HamanoJul 6, 2018
  27. grep.c: teach 'git grep --only-matching'Taylor Blau, Jul 9, 2018
  28. Taylor BlauJul 9, 2018

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.