Merge branch 'jn/log-m-does-not-imply-p'
Earlier "git log -m" was changed to always produce patch output,
which would break existing scripts, which has been reverted.
* jn/log-m-does-not-imply-p:
Revert 'diff-merges: let "-m" imply "-p"'
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 0aebe83..c89d530 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -49,9 +49,10 @@
--diff-merges=m:::
-m:::
This option makes diff output for merge commits to be shown in
- the default format. The default format could be changed using
+ the default format. `-m` will produce the output only if `-p`
+ is given as well. The default format could be changed using
`log.diffMerges` configuration parameter, which default value
- is `separate`. `-m` implies `-p`.
+ is `separate`.
+
--diff-merges=first-parent:::
--diff-merges=1:::
@@ -61,8 +62,7 @@
--diff-merges=separate:::
This makes merge commits show the full diff with respect to
each of the parents. Separate log entry and diff is generated
- for each parent. This is the format that `-m` produced
- historically.
+ for each parent.
+
--diff-merges=combined:::
--diff-merges=c:::
diff --git a/diff-merges.c b/diff-merges.c
index 0dfcaa1..d897fd8 100644
--- a/diff-merges.c
+++ b/diff-merges.c
@@ -107,7 +107,6 @@
if (!strcmp(arg, "-m")) {
set_to_default(revs);
- revs->merges_imply_patch = 1;
} else if (!strcmp(arg, "-c")) {
set_combined(revs);
revs->merges_imply_patch = 1;
diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh
index 7fadc98..e561a8e 100755
--- a/t/t4013-diff-various.sh
+++ b/t/t4013-diff-various.sh
@@ -455,8 +455,8 @@
diff-tree -R --stat --compact-summary initial mode
EOF
-test_expect_success 'log -m matches log -m -p' '
- git log -m -p master >result &&
+test_expect_success 'log -m matches pure log' '
+ git log master >result &&
process_diffs result >expected &&
git log -m >result &&
process_diffs result >actual &&