threads / discuss / 55296

git difftool -I and git diff -I behave differently

Subject: git difftool -I and git diff -I behave differently

## tl;dr

One message between Mar 11, 2021 and Mar 11, 2021.

replies: 0people: 1as markdown or json

Mustafa Zengin· Mar 11, 2021, 20:18 UTC · lore
Hi,
git difftool and git diff behave differently for option -I.
Repro steps:
1. Add a line with "text" into a file (without the quotes)
2. Run
  git diff -I"text"
3. Observe that no output is returned
4. Run
  git difftool -I"text"
5. Observe that the assigned diff tool is opened with the change
including "text".

Expected: In step 5, no diff is shown.

My expectation is based on three things:
1. -S and -G options behave the same for `git diff` and `git difftool`.
2. Quote from https://git-scm.com/docs/git-difftool
    "See git-diff[1] for the full list of supported options."
   It implies that all `git diff` options are inherited to `git difftool`.
3. It looks like the command is attempting to parse the option so it
is not completely ignored. If I make the regex malformed, e.g.
     git difftool -I"*text"
   I get back:
     error: invalid regex given to -I: '*text'

StackOverflow post: https://stackoverflow.com/questions/66574689/git-difftool-with-i-option

Versions tested:
Windows: git version 2.30.0.windows.1
Ubuntu: git version 2.30.2

Thanks, Mustafa

← back to recent threads