diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-08-13 04:33:22 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-08-13 10:44:51 -0700 |
commit | 31cf61a08008eb152247b16ee96811220f019fbd (patch) | |
tree | f79b17f166348f8e907549fe58100ca465627445 /builtin | |
parent | diff: add an internal option to dual-color diffs of diffs (diff) | |
download | tgif-31cf61a08008eb152247b16ee96811220f019fbd.tar.xz |
range-diff: offer to dual-color the diffs
When showing what changed between old and new commits, we show a diff of
the patches. This diff is a diff between diffs, therefore there are
nested +/- signs, and it can be relatively hard to understand what is
going on.
With the --dual-color option, the preimage and the postimage are colored
like the diffs they are, and the *outer* +/- sign is inverted for
clarity.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/range-diff.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/builtin/range-diff.c b/builtin/range-diff.c index 76659d0b3f..5a9ad82fb8 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -20,9 +20,12 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix) { int creation_factor = 60; struct diff_options diffopt = { NULL }; + int dual_color = 0; struct option options[] = { OPT_INTEGER(0, "creation-factor", &creation_factor, N_("Percentage by which creation is weighted")), + OPT_BOOL(0, "dual-color", &dual_color, + N_("color both diff and diff-between-diffs")), OPT_END() }; int i, j, res = 0; @@ -60,6 +63,11 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix) options + ARRAY_SIZE(options) - 1, /* OPT_END */ builtin_range_diff_usage, 0); + if (dual_color) { + diffopt.use_color = 1; + diffopt.flags.dual_color_diffed_diffs = 1; + } + if (argc == 2) { if (!strstr(argv[0], "..")) die(_("no .. in range: '%s'"), argv[0]); |