[prev in list] [next in list] [prev in thread] [next in thread]
List: git
Subject: [PATCH v3 20/20] range-diff: make --dual-color the default mode
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget () gmail ! com>
Date: 2018-06-30 20:41:41
Message-ID: 4a68b95ce2a6463708c92d1bcc0208352c14f836.1530617166.git.gitgitgadget () gmail ! com
[Download RAW message or body]
From: Johannes Schindelin <johannes.schindelin@gmx.de>
After using this command extensively for the last two months, this
developer came to the conclusion that even if the dual color mode still
leaves a lot of room for confusion what was actually changed, the
non-dual color mode is substantially worse in that regard.
Therefore, we really want to make the dual color mode the default.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Documentation/git-range-diff.txt | 13 ++++++++-----
builtin/range-diff.c | 10 ++++++----
contrib/completion/git-completion.bash | 2 +-
3 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/Documentation/git-range-diff.txt b/Documentation/git-range-diff.txt
index 189236cc6..02d33ac43 100644
--- a/Documentation/git-range-diff.txt
+++ b/Documentation/git-range-diff.txt
@@ -31,11 +31,14 @@ all of their ancestors have been shown.
OPTIONS
-------
---dual-color::
- When the commit diffs differ, recreate the original diffs'
- coloring, and add outer -/+ diff markers with the *background*
- being red/green to make it easier to see e.g. when there was a
- change in what exact lines were added.
+--no-dual-color::
+ When the commit diffs differ, `git range-diff` recreates the
+ original diffs' coloring, and add outer -/+ diff markers with
+ the *background* being red/green to make it easier to see e.g.
+ when there was a change in what exact lines were added. This is
+ known to `range-diff` as "dual coloring". Use `--no-dual-color`
+ to revert to color all lines according to the outer diff markers
+ (and completely ignore the inner diff when it comes to color).
--creation-factor=<percent>::
Set the creation/deletion cost fudge factor to `<percent>`.
diff --git a/builtin/range-diff.c b/builtin/range-diff.c
index e8f7fe452..6cee0c73a 100644
--- a/builtin/range-diff.c
+++ b/builtin/range-diff.c
@@ -20,11 +20,11 @@ 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;
+ int simple_color = -1;
struct option options[] = {
OPT_INTEGER(0, "creation-factor", &creation_factor,
N_("Percentage by which creation is weighted")),
- OPT_BOOL(0, "dual-color", &dual_color,
+ OPT_BOOL(0, "no-dual-color", &simple_color,
N_("color both diff and diff-between-diffs")),
OPT_END()
};
@@ -53,8 +53,10 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix)
argc = j;
diff_setup_done(&diffopt);
- if (dual_color) {
- diffopt.use_color = 1;
+ if (simple_color < 1) {
+ if (!simple_color)
+ /* force color when --dual-color was used */
+ diffopt.use_color = 1;
diffopt.flags.dual_color_diffed_diffs = 1;
}
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 402490673..e35fc28fc 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1981,7 +1981,7 @@ _git_range_diff ()
case "$cur" in
--*)
__gitcomp "
- --creation-factor= --dual-color
+ --creation-factor= --no-dual-color
$__git_diff_common_options
"
return
--
gitgitgadget
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic