summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2018-08-13 11:33:22 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-13 17:44:51 (GMT)
commit31cf61a08008eb152247b16ee96811220f019fbd (patch)
treef79b17f166348f8e907549fe58100ca465627445 /builtin
parentf7c3b4e2d8c16890c40c7e10e16cabb910f6b3ae (diff)
downloadgit-31cf61a08008eb152247b16ee96811220f019fbd.zip
git-31cf61a08008eb152247b16ee96811220f019fbd.tar.gz
git-31cf61a08008eb152247b16ee96811220f019fbd.tar.bz2
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.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/builtin/range-diff.c b/builtin/range-diff.c
index 76659d0..5a9ad82 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]);