diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-02-19 23:36:55 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-28 13:55:56 -0800 |
commit | c5a589740601789dc5af3790885c3d21e09cc6a4 (patch) | |
tree | a6cc65ea3316e5ef4724b4d449f446887b5fd145 /diff.c | |
parent | e325bf7d045de2976cc3c048922f1b727a468d41 (diff) | |
download | git-jc/diff-ignore-case.tar.gz |
diff: -i is "--ignore-case" but means a bit more in "log"jc/diff-ignore-case
The previous patch to teach "--ignore-case" option to our "diff" machinery
deliberately omitted a short-and-sweet "-i" that GNU diff uses to ask for
"--ignore-case". This is because our diff machinery is often used by and
shares the command line options with the commands in the "git log" family,
where the short option already means something entirely different.
Namely, it instructs us to use case-insensitive match when looking for
commits that match strings that appear in the commit object itself,
e.g. --author and --grep.
Tweak the option parser so that "-i" means both, so that
$ git log --grep=frotz -i -p
first picks commits that have string "frotz" in any combination of cases,
and then shows patches that ignore case-only changes for them, while
"--ignore-case" and "--regexp-ignore-case" can be used to mean only one,
that is:
$ git log --grep=frotz --regexp-ignore-case -p
would pick the same set of commits, but the patches shown by it does not
ignore case-only changes while:
$ git log --grep=frotz --ignore-case -p
would pick commits that has "frotz" in all lowercase, but shows patches
that ignore case-only changes for the chosen commits.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3399,7 +3399,7 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) DIFF_XDL_SET(options, IGNORE_WHITESPACE_CHANGE); else if (!strcmp(arg, "--ignore-space-at-eol")) DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL); - else if (!strcmp(arg, "--ignore-case")) + else if (!strcmp(arg, "--ignore-case") || !strcmp(arg, "-i")) DIFF_XDL_SET(options, IGNORE_CASE); else if (!strcmp(arg, "--patience")) options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF); |