git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Add diff-option --ext-diff

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 30, 2007, 17:47 UTC
Message-ID
<Pine.LNX.4.64.0706301846580.4438@racer.site>

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 <johannes.schindelin@gmx.de>
---
 Documentation/diff-options.txt |    8 ++++++++
 diff.c                         |    4 ++++
 2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 0f07c9c..3d2b9d0 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -168,5 +168,13 @@
 --quiet::
 	Disable all output of the program. Implies --exit-code.
 
+--ext-diff::
+	Allow an external diff helper to be executed. If you set an
+	external diff driver with gitlink:gitattributes(5), you need
+	to use this option with gitlink:git-log(1) and friends.
+
+--no-ext-diff::
+	Disallow external diff drivers.
+
 For more detailed explanation on these common options, see also
 link:diffcore.html[diffcore documentation].
diff --git a/diff.c b/diff.c
index e0edb98..a471c9e 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;
 	else
 		return 0;
 	return 1;
-- 
1.5.2.2.3249.g33841
Message 1 of 1 in “Add diff-option --ext-diff”
  1. Add diff-option --ext-diffJohannes Schindelin, Jun 30, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.