[PATCH v2 21/33] diff-merges: make -m/-c/--cc explicitly mutually exclusive
- From
Sergey Organov <sorganov@gmail.com>
- Date
- Dec 16, 2020, 18:49 UTC
- Message-ID
- <20201216184929.3924-22-sorganov@gmail.com>
- In-Reply-To
- <20201216184929.3924-1-sorganov@gmail.com>
-c/--cc got precedence over -m only because of external logic where corresponding flags are checked before that for -m. This is too error-prone, so add code that explicitly makes these 3 options mutually exclusive, so that the last option specified on the command-line gets precedence.
Signed-off-by: Sergey Organov <sorganov@gmail.com> --- diff-merges.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/diff-merges.c b/diff-merges.c index 4c434e914c8d..6446e2093661 100644 --- a/diff-merges.c +++ b/diff-merges.c @@ -7,6 +7,7 @@ static void suppress(struct rev_info *revs) { revs->first_parent_merges = 0; revs->combine_merges = 0; revs->dense_combined_merges = 0; + revs->combined_all_paths = 0; } static void set_separate(struct rev_info *revs) { @@ -25,11 +26,13 @@ static void set_m(struct rev_info *revs) { } static void set_combined(struct rev_info *revs) { + suppress(revs); revs->combine_merges = 1; revs->dense_combined_merges = 0; } static void set_dense_combined(struct rev_info *revs) { + suppress(revs); revs->combine_merges = 1; revs->dense_combined_merges = 1; }
-- 2.25.1