diff options
author | Sergey Organov <sorganov@gmail.com> | 2020-12-21 18:19:50 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-12-21 13:47:31 -0800 |
commit | 255a4dacc59f4f4f62cc61743f40a078b4b38647 (patch) | |
tree | 5326feccb7bec4478378d977282a8774efad380f | |
parent | diff-merges: refactor opt settings into separate functions (diff) | |
download | tgif-255a4dacc59f4f4f62cc61743f40a078b4b38647.tar.xz |
diff-merges: make -m/-c/--cc explicitly mutually exclusive
-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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | diff-merges.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/diff-merges.c b/diff-merges.c index b8fd92adcf..e3c0190ebd 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; } |