# git diff/grep add --exclude option

2 messages from 2010-04-12 to 2010-04-15. Participants: Sylvain Rabot, Johannes Gilger.
Thread: https://gitlist.dev/t/23435

## Sylvain Rabot, 2010-04-12 21:02

Subject: git diff/grep add --exclude option
Message-ID: <1271106125.3031.31.camel@kheops>
URL: https://gitlist.dev/e/1271106125.3031.31.camel%40kheops

```
Hi,

I was surprised to not find an option to exclude file from git diff/grep
outputs like -x for diff or --exclude for grep. It's too bad because it
can be really useful.

Is something like that is planned to be implemented by somebody? I would
have loved to do it but unfortunately I'm no C developer.

Regards.

-- 
Sylvain Rabot <sylvain@abstraction.fr>

```

## Johannes Gilger, 2010-04-15 20:25

Subject: Re: git diff/grep add --exclude option
Message-ID: <slrnhsetj6.esr.heipei@dualtron.heipei.net>
URL: https://gitlist.dev/e/slrnhsetj6.esr.heipei%40dualtron.heipei.net
In-Reply-To: <1271106125.3031.31.camel@kheops>

```
On 2010-04-12, Sylvain Rabot <sylvain@abstraction.fr> wrote:
> I was surprised to not find an option to exclude file from git diff/grep
> outputs like -x for diff or --exclude for grep. It's too bad because it
> can be really useful.

Yeah, me too, but probably because I never needed it ;) Anyway, there
were some discussions on this before [1]. I thin a viable workaround is
using ls-files and grep. Quick example:

git diff -- $(git ls-files | grep -Ev "(^Documentation|^compat/mingw.c)")

would show everything except the whole Documentation subtree and mingw.c
from compat. Now, you might even whip that into your very own
shellscript or use a git alias (dirty):

[alias]
  ediff = "!sh -c 'git diff -- $(git ls-files | grep -Ev $0)'"

And call it with 
  git ediff "(Documentation|compat/mingw.c)"

Greetings,
Jojo

[1] - http://lists-archives.org/git/708604-how-to-exclude-files-from-git-diff.html

-- 
Johannes Gilger <heipei@hackvalue.de>
http://heipei.net
GPG-Key: 0xD47A7FFC
GPG-Fingerprint: 5441 D425 6D4A BD33 B580  618C 3CDC C4D0 D47A 7FFC

```
