aboutsummaryrefslogtreecommitdiffstats
path: root/diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-03-28 14:13:50 -0700
committerJunio C Hamano <gitster@pobox.com>2024-03-28 14:13:50 -0700
commit396430b5a73f60acc2ce8365a9edfe6923014ca3 (patch)
treef74eccaa536a7059547c585b9f95c3ede8540937 /diff.c
parent1002f28a527d33893f7dab068dbac7011f84af65 (diff)
parent178401dc25cf8c3f1a716b852b14dafa79367646 (diff)
downloadgit-396430b5a73f60acc2ce8365a9edfe6923014ca3.tar.gz
Merge branch 'ph/diff-src-dst-prefix-config'
"git diff" and friends learned two extra configuration variables, diff.srcPrefix and diff.dstPrefix. * ph/diff-src-dst-prefix-config: diff.*Prefix: use camelCase in the doc and test titles diff: add diff.srcPrefix and diff.dstPrefix configuration variables
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/diff.c b/diff.c
index e50def4538..108c187577 100644
--- a/diff.c
+++ b/diff.c
@@ -62,6 +62,8 @@ static const char *diff_order_file_cfg;
int diff_auto_refresh_index = 1;
static int diff_mnemonic_prefix;
static int diff_no_prefix;
+static const char *diff_src_prefix = "a/";
+static const char *diff_dst_prefix = "b/";
static int diff_relative;
static int diff_stat_name_width;
static int diff_stat_graph_width;
@@ -408,6 +410,12 @@ int git_diff_ui_config(const char *var, const char *value,
diff_no_prefix = git_config_bool(var, value);
return 0;
}
+ if (!strcmp(var, "diff.srcprefix")) {
+ return git_config_string(&diff_src_prefix, var, value);
+ }
+ if (!strcmp(var, "diff.dstprefix")) {
+ return git_config_string(&diff_dst_prefix, var, value);
+ }
if (!strcmp(var, "diff.relative")) {
diff_relative = git_config_bool(var, value);
return 0;
@@ -3425,8 +3433,8 @@ void diff_set_noprefix(struct diff_options *options)
void diff_set_default_prefix(struct diff_options *options)
{
- options->a_prefix = "a/";
- options->b_prefix = "b/";
+ options->a_prefix = diff_src_prefix;
+ options->b_prefix = diff_dst_prefix;
}
struct userdiff_driver *get_textconv(struct repository *r,
@@ -5362,6 +5370,8 @@ static int diff_opt_default_prefix(const struct option *opt,
BUG_ON_OPT_NEG(unset);
BUG_ON_OPT_ARG(optarg);
+ diff_src_prefix = "a/";
+ diff_dst_prefix = "b/";
diff_set_default_prefix(options);
return 0;
}