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];
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 &&