Browse Source

Merge branch 'ec/diff-noprefix-config'

* ec/diff-noprefix-config:
  diff: add configuration option for disabling diff prefixes.
maint
Junio C Hamano 15 years ago
parent
commit
2621ac50cc
  1. 2
      Documentation/config.txt
  2. 9
      diff.c

2
Documentation/config.txt

@ -792,6 +792,8 @@ diff.mnemonicprefix::
standard "a/" and "b/" depending on what is being compared. When standard "a/" and "b/" depending on what is being compared. When
this configuration is in effect, reverse diff output also swaps this configuration is in effect, reverse diff output also swaps
the order of the prefixes: the order of the prefixes:
diff.noprefix::
If set, 'git diff' does not show any source or destination prefix.
`git diff`;; `git diff`;;
compares the (i)ndex and the (w)ork tree; compares the (i)ndex and the (w)ork tree;
`git diff HEAD`;; `git diff HEAD`;;

9
diff.c

@ -30,6 +30,7 @@ static const char *diff_word_regex_cfg;
static const char *external_diff_cmd_cfg; static const char *external_diff_cmd_cfg;
int diff_auto_refresh_index = 1; int diff_auto_refresh_index = 1;
static int diff_mnemonic_prefix; static int diff_mnemonic_prefix;
static int diff_no_prefix;


static char diff_colors[][COLOR_MAXLEN] = { static char diff_colors[][COLOR_MAXLEN] = {
GIT_COLOR_RESET, GIT_COLOR_RESET,
@ -101,6 +102,10 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
diff_mnemonic_prefix = git_config_bool(var, value); diff_mnemonic_prefix = git_config_bool(var, value);
return 0; return 0;
} }
if (!strcmp(var, "diff.noprefix")) {
diff_no_prefix = git_config_bool(var, value);
return 0;
}
if (!strcmp(var, "diff.external")) if (!strcmp(var, "diff.external"))
return git_config_string(&external_diff_cmd_cfg, var, value); return git_config_string(&external_diff_cmd_cfg, var, value);
if (!strcmp(var, "diff.wordregex")) if (!strcmp(var, "diff.wordregex"))
@ -2625,7 +2630,9 @@ void diff_setup(struct diff_options *options)
DIFF_OPT_SET(options, COLOR_DIFF); DIFF_OPT_SET(options, COLOR_DIFF);
options->detect_rename = diff_detect_rename_default; options->detect_rename = diff_detect_rename_default;


if (!diff_mnemonic_prefix) { if (diff_no_prefix) {
options->a_prefix = options->b_prefix = "";
} else if (!diff_mnemonic_prefix) {
options->a_prefix = "a/"; options->a_prefix = "a/";
options->b_prefix = "b/"; options->b_prefix = "b/";
} }

Loading…
Cancel
Save