Merge branch 'so/log-diff-merges-opt'
Earlier, to countermand the implicit "-m" option when the "--first-parent" option is used with "git log", we added the "--[no-]diff-merges" option in the jk/log-fp-implies-m topic. To leave the door open to allow the "--diff-merges" option to take values that instructs how patches for merge commits should be computed (e.g. "cc"? "-p against first parent?"), redefine "--diff-merges" to take non-optional value, and implement "off" that means the same thing as "--no-diff-merges". * so/log-diff-merges-opt: t/t4013: add test for --diff-merges=off doc/git-log: describe --diff-merges=off revision: change "--diff-merges" option to require parameter
This commit is contained in:
commit
a555b514cd
@ -148,7 +148,6 @@ combined-diff option or with `--no-diff-merges`).
|
|||||||
rename or copy detection have been requested).
|
rename or copy detection have been requested).
|
||||||
|
|
||||||
-m::
|
-m::
|
||||||
--diff-merges::
|
|
||||||
This flag makes the merge commits show the full diff like
|
This flag makes the merge commits show the full diff like
|
||||||
regular commits; for each merge parent, a separate log entry
|
regular commits; for each merge parent, a separate log entry
|
||||||
and diff is generated. An exception is that only diff against
|
and diff is generated. An exception is that only diff against
|
||||||
@ -156,6 +155,11 @@ combined-diff option or with `--no-diff-merges`).
|
|||||||
in that case, the output represents the changes the merge
|
in that case, the output represents the changes the merge
|
||||||
brought _into_ the then-current branch.
|
brought _into_ the then-current branch.
|
||||||
|
|
||||||
|
--diff-merges=off::
|
||||||
|
--no-diff-merges::
|
||||||
|
Disable output of diffs for merge commits (default). Useful to
|
||||||
|
override `-m`, `-c`, or `--cc`.
|
||||||
|
|
||||||
:git-log: 1
|
:git-log: 1
|
||||||
include::diff-options.txt[]
|
include::diff-options.txt[]
|
||||||
|
|
||||||
|
@ -2343,8 +2343,15 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
|||||||
revs->diff = 1;
|
revs->diff = 1;
|
||||||
revs->diffopt.flags.recursive = 1;
|
revs->diffopt.flags.recursive = 1;
|
||||||
revs->diffopt.flags.tree_in_recursive = 1;
|
revs->diffopt.flags.tree_in_recursive = 1;
|
||||||
} else if (!strcmp(arg, "-m") || !strcmp(arg, "--diff-merges")) {
|
} else if (!strcmp(arg, "-m")) {
|
||||||
revs->ignore_merges = 0;
|
revs->ignore_merges = 0;
|
||||||
|
} else if ((argcount = parse_long_opt("diff-merges", argv, &optarg))) {
|
||||||
|
if (!strcmp(optarg, "off")) {
|
||||||
|
revs->ignore_merges = 1;
|
||||||
|
} else {
|
||||||
|
die(_("unknown value for --diff-merges: %s"), optarg);
|
||||||
|
}
|
||||||
|
return argcount;
|
||||||
} else if (!strcmp(arg, "--no-diff-merges")) {
|
} else if (!strcmp(arg, "--no-diff-merges")) {
|
||||||
revs->ignore_merges = 1;
|
revs->ignore_merges = 1;
|
||||||
} else if (!strcmp(arg, "-c")) {
|
} else if (!strcmp(arg, "-c")) {
|
||||||
|
@ -298,6 +298,8 @@ log --root -c --patch-with-stat --summary master
|
|||||||
# improved by Timo's patch
|
# improved by Timo's patch
|
||||||
log --root --cc --patch-with-stat --summary master
|
log --root --cc --patch-with-stat --summary master
|
||||||
log --no-diff-merges -p --first-parent master
|
log --no-diff-merges -p --first-parent master
|
||||||
|
log --diff-merges=off -p --first-parent master
|
||||||
|
log --first-parent --diff-merges=off -p master
|
||||||
log -p --first-parent master
|
log -p --first-parent master
|
||||||
log -m -p --first-parent master
|
log -m -p --first-parent master
|
||||||
log -m -p master
|
log -m -p master
|
||||||
|
78
t/t4013/diff.log_--diff-merges=off_-p_--first-parent_master
Normal file
78
t/t4013/diff.log_--diff-merges=off_-p_--first-parent_master
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
$ git log --diff-merges=off -p --first-parent master
|
||||||
|
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
|
||||||
|
Merge: 9a6d494 c7a2ab9
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:04:00 2006 +0000
|
||||||
|
|
||||||
|
Merge branch 'side'
|
||||||
|
|
||||||
|
commit 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:02:00 2006 +0000
|
||||||
|
|
||||||
|
Third
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 8422d40..cead32e 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -2,3 +2,5 @@ A
|
||||||
|
B
|
||||||
|
C
|
||||||
|
D
|
||||||
|
+E
|
||||||
|
+F
|
||||||
|
diff --git a/file1 b/file1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b1e6722
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file1
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+C
|
||||||
|
|
||||||
|
commit 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:01:00 2006 +0000
|
||||||
|
|
||||||
|
Second
|
||||||
|
|
||||||
|
This is the second commit.
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 35d242b..8422d40 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
A
|
||||||
|
B
|
||||||
|
+C
|
||||||
|
+D
|
||||||
|
diff --git a/file0 b/file0
|
||||||
|
index 01e79c3..b414108 100644
|
||||||
|
--- a/file0
|
||||||
|
+++ b/file0
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
+4
|
||||||
|
+5
|
||||||
|
+6
|
||||||
|
diff --git a/file2 b/file2
|
||||||
|
deleted file mode 100644
|
||||||
|
index 01e79c3..0000000
|
||||||
|
--- a/file2
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,3 +0,0 @@
|
||||||
|
-1
|
||||||
|
-2
|
||||||
|
-3
|
||||||
|
|
||||||
|
commit 444ac553ac7612cc88969031b02b3767fb8a353a
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:00:00 2006 +0000
|
||||||
|
|
||||||
|
Initial
|
||||||
|
$
|
78
t/t4013/diff.log_--first-parent_--diff-merges=off_-p_master
Normal file
78
t/t4013/diff.log_--first-parent_--diff-merges=off_-p_master
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
$ git log --first-parent --diff-merges=off -p master
|
||||||
|
commit 80e25ffa65bcdbe82ef654b4d06dbbde7945c37f
|
||||||
|
Merge: 9a6d494 c7a2ab9
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:04:00 2006 +0000
|
||||||
|
|
||||||
|
Merge branch 'side'
|
||||||
|
|
||||||
|
commit 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:02:00 2006 +0000
|
||||||
|
|
||||||
|
Third
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 8422d40..cead32e 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -2,3 +2,5 @@ A
|
||||||
|
B
|
||||||
|
C
|
||||||
|
D
|
||||||
|
+E
|
||||||
|
+F
|
||||||
|
diff --git a/file1 b/file1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b1e6722
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file1
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+C
|
||||||
|
|
||||||
|
commit 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:01:00 2006 +0000
|
||||||
|
|
||||||
|
Second
|
||||||
|
|
||||||
|
This is the second commit.
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 35d242b..8422d40 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
A
|
||||||
|
B
|
||||||
|
+C
|
||||||
|
+D
|
||||||
|
diff --git a/file0 b/file0
|
||||||
|
index 01e79c3..b414108 100644
|
||||||
|
--- a/file0
|
||||||
|
+++ b/file0
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
+4
|
||||||
|
+5
|
||||||
|
+6
|
||||||
|
diff --git a/file2 b/file2
|
||||||
|
deleted file mode 100644
|
||||||
|
index 01e79c3..0000000
|
||||||
|
--- a/file2
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,3 +0,0 @@
|
||||||
|
-1
|
||||||
|
-2
|
||||||
|
-3
|
||||||
|
|
||||||
|
commit 444ac553ac7612cc88969031b02b3767fb8a353a
|
||||||
|
Author: A U Thor <author@example.com>
|
||||||
|
Date: Mon Jun 26 00:00:00 2006 +0000
|
||||||
|
|
||||||
|
Initial
|
||||||
|
$
|
Loading…
Reference in New Issue
Block a user