git grep -O -i: if the pager is 'less', pass the '-I' option

When <command> happens to be the magic string "less", today git grep -O<command> -e<pattern> helpfully passes +/<pattern> to less so you can navigate through the results within a file using the n and shift+n keystrokes. Alas, that doesn't do the right thing for a case-insensitive match, i.e. git grep -i -O<command> -e<pattern> For that case we should pass --IGNORE-CASE to "less" so that n and shift+n can move between results ignoring case in the pattern. The original patch came from msysgit and used "-i", but that was not due to lack of support for "-I" but it merely overlooked that it ought to work even when the pattern contains capital letters. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Stepan Kasal <kasal@ucw.cz> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Feb 8, 2011 at 00:17 UTC f7febbea07cf6d65f85b0cdb6684d2e3666c557e
1 file changed +3
builtin/grep.c
+3
@@ -876,6 +876,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
876 if (len > 4 && is_dir_sep(pager[len - 5]))
877 pager += len - 4;
878
879 + if (opt.ignore_case && !strcmp("less", pager))
880 + string_list_append(&path_list, "-I");
881 +
882 if (!strcmp("less", pager) || !strcmp("vi", pager)) {
883 struct strbuf buf = STRBUF_INIT;
884 strbuf_addf(&buf, "+/%s%s",