Hello, I use a combination of git attributes and a custom diff driver to ignore the changes to the generated files (that we unfortunately need to keep in our repository) from appearing in "git diff" and "git log" output, i.e.: % cat .gitattributes # Use a custom diff driver for bakefile generated files # This allows ignoring them in git diff for example by doing # $ git config diff.generated.command true # pass --no-ext-diff to git diff to ignore the custom driver *.sln diff=generated *.vcproj diff=generated *.vcxproj diff=generated *.vcxproj.filters diff=generated % git config diff.generated.command echo Diff of generated file "$1" suppressed; true This works quite nicely most of the time provided you use "--ext-diff" with "git log", but not when showing the merges with "--cc". I.e. the command "git log --ext-diff -p --cc" still outputs the real diff even for the generated files, as if "--ext-diff" were not given. If I use "git log --ext-diff -p -m", the generated files are ignored, which is nice, but the diff for the other files becomes much more verbose and less readable and I'd really like to combine "--ext-diff" with "--cc" if possible. Is the current behaviour intentional? I see it with all the git versions I tried (1.7.10, 2.1.0, 2.7.0 and v2.8.0-rc1), but I don't really see why would it need to work like this, so I hope it's an oversight and could be corrected. Or is there perhaps some other way to do what I want already? Thanks in advance for any help, VZ
Attachment:
pgppHHHy9f2qh.pgp
Description: PGP signature