diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-12-17 13:42:20 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-12-17 20:49:18 -0800 |
commit | cbe021004fc8762076bf497cc0b259d110b3a753 (patch) | |
tree | c1569cd758ac38c8b74b09627f9972036d3a424b /diff.c | |
parent | f029427259c97af9ea98358866e1d28974fa4da5 (diff) | |
download | git-cbe021004fc8762076bf497cc0b259d110b3a753.tar.gz |
Support 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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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; } |