threads / patch / 11319

patchDocument diff.external and mergetool.<tool>.path

Subject: [PATCH] Document diff.external and mergetool.<tool>.path

## tl;dr

6 messages between Dec 17, 2007 and Dec 18, 2007. Diffs are folded; open one to read it.

replies: 5people: 2as markdown or json

Johannes Schindelin· Dec 17, 2007, 12:21 UTC · lore

There was no documentation for the config variables diff.external and mergetool.<tool>.path.

Noticed by Sebastian Schuberth.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 Documentation/config.txt |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
Show changes to Documentation/config.txt +11 −0
diff --git a/Documentation/config.txt b/Documentation/config.txt
index ce16fc7..8a0df57 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -448,6 +448,13 @@ diff.autorefreshindex::
 	affects only `git diff` Porcelain, and not lower level
 	`diff` commands, such as `git diff-files`.
 
+diff.external::
+	If this config variable is set, diff generation is not
+	performed using the internal diff machinery, but using the
+	given command.  Note: if you want to use an external diff
+	program only on a subset of your files, you might want to
+	use gitlink:gitattributes[5] instead.
+
 diff.renameLimit::
 	The number of files to consider when performing the copy/rename
 	detection; equivalent to the git diff option '-l'.
@@ -671,6 +678,10 @@ merge.<driver>.recursive::
 	performing an internal merge between common ancestors.
 	See gitlink:gitattributes[5] for details.
 
+mergetool.<tool>.path::
+	Override the path for the given tool.  This is useful in case
+	your tool is not in the PATH.
+
 pack.window::
 	The size of the window used by gitlink:git-pack-objects[1] when no
 	window size is given on the command line. Defaults to 10.
-- 
1.5.4.rc0.36.g7680
Johannes Schindelin· Dec 17, 2007, 13:42 UTC · re: Johannes Schindelin · lore

[PATCH] Actually add config variable diff.external

We had the diff.external variable in the documentation of the config file since its conception, but failed to respect it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
	On Mon, 17 Dec 2007, Johannes Schindelin wrote:
	> Subject: [PATCH] Document diff.external and mergetool.<tool>.path
	> 
	> There was no documentation for the config variables 
	> diff.external and mergetool.<tool>.path.
	Heh.  Missed that diff.external was actually never implemented...
	Also noticed by Sebastian.
 diff.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
Show changes to diff.c +7 −0
diff --git a/diff.c b/diff.c
index 7d17754..a49c36a 100644
--- a/diff.c
+++ b/diff.c
@@ -20,6 +20,7 @@
 static int diff_detect_rename_default;
 static int diff_rename_limit_default = 100;
 static int diff_use_color_default;
+static const char *external_diff_cmd_cfg;
 int diff_auto_refresh_index = 1;
 
 static char diff_colors[][COLOR_MAXLEN] = {
@@ -163,6 +164,10 @@ int git_diff_ui_config(const char *var, const char *value)
 		diff_auto_refresh_index = git_config_bool(var, value);
 		return 0;
 	}
+	if (!strcmp(var, "diff.external")) {
+		external_diff_cmd_cfg = xstrdup(value);
+		return 0;
+	}
 	if (!prefixcmp(var, "diff.")) {
 		const char *ep = strrchr(var, '.');
 
@@ -209,6 +214,8 @@ static const char *external_diff(void)
 	if (done_preparing)
 		return external_diff_cmd;
 	external_diff_cmd = getenv("GIT_EXTERNAL_DIFF");
+	if (!external_diff_cmd)
+		external_diff_cmd = external_diff_cmd_cfg;
 	done_preparing = 1;
 	return external_diff_cmd;
 }
-- 
1.5.4.rc0.59.g1d10d
Junio C Hamano· Dec 18, 2007, 00:52 UTC · re: Johannes Schindelin · lore

Re: [PATCH] Document diff.external and mergetool.<tool>.path

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 5 quoted lines
> On Mon, 17 Dec 2007, Junio C Hamano wrote:
>
>> Thanks.  Applied.
>
> Dumb question: with, or without, the diff.external patch?
Swapped the order to first make diff.external work and then document.
Johannes Schindelin· Dec 18, 2007, 01:00 UTC · re: Junio C Hamano · lore

Re: [PATCH] Document diff.external and mergetool.<tool>.path

Hi,
On Mon, 17 Dec 2007, Junio C Hamano wrote:
Show 9 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Mon, 17 Dec 2007, Junio C Hamano wrote:
> >
> >> Thanks.  Applied.
> >
> > Dumb question: with, or without, the diff.external patch?
> 
> Swapped the order to first make diff.external work and then document.
Thank you very much!

Ciao, Dscho

← back to recent threads