diff.c: allow --no-color-moved-ws
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 24 Mar 2019 08:20:11 +0000 (15:20 +0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 24 Mar 2019 13:21:23 +0000 (22:21 +0900)
This option is added in commit b73bcbac4a (diff: allow
--no-color-moved-ws - 2018-11-23) in pw/diff-color-moved-ws-fix. To ease
merge conflict resolution, re-implement the option handling here so that
the conflict could be resolved by taking this side of change.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
diff --git a/diff.c b/diff.c
index 1a24bbfb69e079af3fb4fa49e01c389eb4176c5c..8b770cd396737172342c4de4f3e36d25f75934d9 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -4868,7 +4868,11 @@ static int diff_opt_color_moved_ws(const struct option *opt,
        struct diff_options *options = opt->value;
        unsigned cm;
 
-       BUG_ON_OPT_NEG(unset);
+       if (unset) {
+               options->color_moved_ws_handling = 0;
+               return 0;
+       }
+
        cm = parse_color_moved_ws(arg);
        if (cm & COLOR_MOVED_WS_ERROR)
                return error(_("invalid mode '%s' in --color-moved-ws"), arg);
@@ -5379,7 +5383,7 @@ static void prep_parse_options(struct diff_options *options)
                               PARSE_OPT_OPTARG, diff_opt_color_moved),
                OPT_CALLBACK_F(0, "color-moved-ws", options, N_("<mode>"),
                               N_("how white spaces are ignored in --color-moved"),
-                              PARSE_OPT_NONEG, diff_opt_color_moved_ws),
+                              0, diff_opt_color_moved_ws),
 
                OPT_GROUP(N_("Diff other options")),
                OPT_CALLBACK_F(0, "relative", options, N_("<prefix>"),