diff mbox series

[v3,22/32] diff-merges: make -m/-c/--cc explicitly mutually exclusive

Message ID 20201221152000.13134-23-sorganov@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v3,01/32] revision: factor out parsing of diff-merge related options | expand

Commit Message

Sergey Organov Dec. 21, 2020, 3:19 p.m. UTC
-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 mbox series

Patch

diff --git a/diff-merges.c b/diff-merges.c
index b8fd92adcf16..e3c0190ebd95 100644
--- a/diff-merges.c
+++ b/diff-merges.c
@@ -8,6 +8,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)
@@ -29,12 +30,14 @@  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;
 }