[PATCH 06/10] pickaxe: honor -i when used with -S and --pickaxe-regex
- From
René Scharfe <l.s.r@web.de>
- Date
- Mar 22, 2014, 17:15 UTC
- Message-ID
- <1395508560-19893-7-git-send-email-l.s.r@web.de>
- In-Reply-To
- <1395508560-19893-1-git-send-email-l.s.r@web.de>
accccde4 (pickaxe: allow -i to search in patch case-insensitively) allowed case-insenitive matching for -G and -S, but for the latter only if fixed string matching is used. Allow it for -S and regular expression matching as well to make the support complete.
Signed-off-by: Rene Scharfe <l.s.r@web.de> --- diffcore-pickaxe.c | 5 ++++- t/t4209-log-pickaxe.sh | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c index 401eb72..cb75851 100644 --- a/diffcore-pickaxe.c +++ b/diffcore-pickaxe.c @@ -237,7 +237,10 @@ static void diffcore_pickaxe_count(struct diff_options *o) if (opts & DIFF_PICKAXE_REGEX) { int err; - err = regcomp(®ex, needle, REG_EXTENDED | REG_NEWLINE); + int cflags = REG_EXTENDED | REG_NEWLINE; + if (DIFF_OPT_TST(o, PICKAXE_IGNORE_CASE)) + cflags |= REG_ICASE; + err = regcomp(®ex, needle, cflags); if (err) { /* The POSIX.2 people are surely sick */ char errbuf[1024]; diff --git a/t/t4209-log-pickaxe.sh b/t/t4209-log-pickaxe.sh index 80aabe2..a31388f 100755 --- a/t/t4209-log-pickaxe.sh +++ b/t/t4209-log-pickaxe.sh @@ -79,6 +79,11 @@ test_log expect_second -S Picked test_log_icase expect_second -S picked test_log_icase expect_nomatch -S pickle +test_log expect_nomatch -S p.cked --pickaxe-regex +test_log expect_second -S P.cked --pickaxe-regex +test_log_icase expect_second -S p.cked --pickaxe-regex +test_log_icase expect_nomatch -S p.ckle --pickaxe-regex + test_expect_success 'log -S --textconv (missing textconv tool)' ' echo "* diff=test" >.gitattributes && test_must_fail git -c diff.test.textconv=missing log -Sfoo &&
-- 1.9.1