]> git.ipfire.org Git - thirdparty/git.git/commitdiff
diff-merges: fix -m to properly override -c/--cc
authorSergey Organov <sorganov@gmail.com>
Mon, 21 Dec 2020 15:19:45 +0000 (18:19 +0300)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Dec 2020 21:47:31 +0000 (13:47 -0800)
Logically, -m, -c, --cc specify 3 different formats for representing
merge commits, yet -m doesn't in fact override -c or --cc, that makes
no sense.

Fix -m to properly override -c/--cc, and change the tests accordingly.

Signed-off-by: Sergey Organov <sorganov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff-merges.c
t/t4013-diff-various.sh

index 225edd293b439a3ba3b123590a8c3cd903281d78..047bf81e6777ebeee92e9d374b8c836a2f9be482 100644 (file)
@@ -33,6 +33,7 @@ int diff_merges_parse_opts(struct rev_info *revs, const char **argv)
        const char *arg = argv[0];
 
        if (!strcmp(arg, "-m")) {
+               suppress(revs);
                /*
                 * To "diff-index", "-m" means "match missing", and to the "log"
                 * family of commands, it means "show full diff for merges". Set
index 64d9fce44614dc6fc6f257be32703180c81605bd..8d8178a8a6168d3766ff373cdb10c68012c4725b 100755 (executable)
@@ -329,8 +329,8 @@ log --first-parent --diff-merges=off -p master
 log -p --first-parent master
 log -m -p --first-parent master
 log -m -p master
-:failure log --cc -m -p master
-:failure log -c -m -p master
+log --cc -m -p master
+log -c -m -p master
 log -SF master
 log -S F master
 log -SF -p master