diff options
| author | René Scharfe <l.s.r@web.de> | 2026-04-24 23:04:27 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-04-25 19:23:23 +0900 |
| commit | 9ff4b5ab1b3b66d454a6c09e92d608c9be15a7a9 (patch) | |
| tree | c2bc58c35c9fe9c473f7d258e7bb47ae8b387612 /contrib/persistent-https | |
| parent | 67ad42147a7acc2af6074753ebd03d904476118f (diff) | |
| download | git-9ff4b5ab1b3b66d454a6c09e92d608c9be15a7a9.tar.gz git-9ff4b5ab1b3b66d454a6c09e92d608c9be15a7a9.zip | |
grep: fix --column --only-match for 2nd and later matches
"git grep --column --only-match" shows the 1-based column number of the
first match on each line, but confusing numbers for further matches.
Example:
$ echo 123456789012345678901234567890 >file
$ for d in 1 2 3 4 5 6 7 8 9 0
do
git grep --no-index --column --only-matching $d file |
awk -v FS=: -v l=$d: '{l = l sprintf("%3s", $2)} END {print l}'
done
1: 1 2 12
2: 2 4 14
3: 3 6 16
4: 4 8 18
5: 5 10 20
6: 6 12 22
7: 7 14 24
8: 8 16 26
9: 9 18 28
0: 10 20 30
Report the column number of each match instead:
$ for d in 1 2 3 4 5 6 7 8 9 0
do
./git grep --no-index --column --only-matching $d file |
awk -v FS=: -v l=$d: '{l = l sprintf("%3s", $2)} END {print l}'
done
1: 1 11 21
2: 2 12 22
3: 3 13 23
4: 4 14 24
5: 5 15 25
6: 6 16 26
7: 7 17 27
8: 8 18 28
9: 9 19 29
0: 10 20 30
We need to adjust the test in t7810 as well. The file it uses has the
following five lines; I add a line highlighting the matches and a ruler
at the bottom here, to make it easier to see that the second "mmap"
indeed starts at column 14:
foo mmap bar
foo_mmap bar
foo_mmap bar mmap
foo mmap bar_mmap
foo_mmap bar mmap baz
==== ====
123456789 123456789 1
Reported-by: Brandon Chinn <brandonchinn178@gmail.com>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/persistent-https')
0 files changed, 0 insertions, 0 deletions
