path: root/diff.c
diff options
authorJohannes Schindelin <>2007-06-30 17:47:07 (GMT)
committerJunio C Hamano <>2007-07-04 02:05:55 (GMT)
commit72909befaa043fcc975115bb56d25a6e7dc65fb6 (patch)
tree6c0373991554e7fe72e9ec201be3a707ddb67e24 /diff.c
parentc401b33c349beaf4c218c6441c3e2b58a958de6f (diff)
Add diff-option --ext-diff
To prevent funky games with external diff engines, git-log and friends prevent external diff engines from being called. That makes sense in the context of git-format-patch or git-rebase. However, for "git log -p" it is not so nice to get the message that binary files cannot be compared, while "git diff" has no problems with them, if you provided an external diff driver. With this patch, "git log --ext-diff -p" will do what you expect, and the option "--no-ext-diff" can be used to override that setting. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'diff.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index 93eca79..b6eb72b 100644
--- a/diff.c
+++ b/diff.c
@@ -2241,6 +2241,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
options->exit_with_status = 1;
else if (!strcmp(arg, "--quiet"))
options->quiet = 1;
+ else if (!strcmp(arg, "--ext-diff"))
+ options->allow_external = 1;
+ else if (!strcmp(arg, "--no-ext-diff"))
+ options->allow_external = 0;
return 0;
return 1;