summaryrefslogtreecommitdiff
path: root/diff-merges.c
diff options
context:
space:
mode:
authorSergey Organov <sorganov@gmail.com>2020-12-21 15:19:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-12-21 21:47:31 (GMT)
commit255a4dacc59f4f4f62cc61743f40a078b4b38647 (patch)
tree5326feccb7bec4478378d977282a8774efad380f /diff-merges.c
parent3d2b5f2f496b9868f982b614f9c2232efa7505df (diff)
downloadgit-255a4dacc59f4f4f62cc61743f40a078b4b38647.zip
git-255a4dacc59f4f4f62cc61743f40a078b4b38647.tar.gz
git-255a4dacc59f4f4f62cc61743f40a078b4b38647.tar.bz2
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>
Diffstat (limited to 'diff-merges.c')
-rw-r--r--diff-merges.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/diff-merges.c b/diff-merges.c
index b8fd92a..e3c0190 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;
}