diff options
author | Jeff King <peff@peff.net> | 2023-03-09 01:09:54 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-03-09 08:32:21 -0800 |
commit | b39a5697296659c344cd0a286b51303fd5375fab (patch) | |
tree | fae2ab944498606552c29e45339ec259f2b4f769 /diff.c | |
parent | 7c03d0db8807d303540297432455adfa1c45b05e (diff) | |
download | git-b39a5697296659c344cd0a286b51303fd5375fab.tar.gz |
diff: add --default-prefix option
You can change the output of prefixes with diff.noprefix and
diff.mnemonicprefix, but there's no easy way to override them from the
command-line. We do have "--no-prefix", but there's no way to get back
to the default prefix. So let's add an option to do that.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -5275,6 +5275,17 @@ static int diff_opt_no_prefix(const struct option *opt, return 0; } +static int diff_opt_default_prefix(const struct option *opt, + const char *optarg, int unset) +{ + struct diff_options *options = opt->value; + + BUG_ON_OPT_NEG(unset); + BUG_ON_OPT_ARG(optarg); + diff_set_default_prefix(options); + return 0; +} + static enum parse_opt_result diff_opt_output(struct parse_opt_ctx_t *ctx, const struct option *opt, const char *arg, int unset) @@ -5564,6 +5575,9 @@ struct option *add_diff_options(const struct option *opts, OPT_CALLBACK_F(0, "no-prefix", options, NULL, N_("do not show any source or destination prefix"), PARSE_OPT_NONEG | PARSE_OPT_NOARG, diff_opt_no_prefix), + OPT_CALLBACK_F(0, "default-prefix", options, NULL, + N_("use default prefixes a/ and b/"), + PARSE_OPT_NONEG | PARSE_OPT_NOARG, diff_opt_default_prefix), OPT_INTEGER_F(0, "inter-hunk-context", &options->interhunkcontext, N_("show context between diff hunks up to the specified number of lines"), PARSE_OPT_NONEG), |