diff options
-rw-r--r-- | diffcore-pickaxe.c | 5 | ||||
-rwxr-xr-x | t/t4209-log-pickaxe.sh | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c index 401eb72c61..cb758515ec 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 138118add1..844df760f7 100755 --- a/t/t4209-log-pickaxe.sh +++ b/t/t4209-log-pickaxe.sh @@ -88,6 +88,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 && |