зеркало из https://github.com/microsoft/git.git
show --first-parent/-m: do not default to --cc
Given that "git show" always shows some diff and does not walk the history by default, it is natural to expect "git show --first-parent" to show the difference between the given commit and its first parent. It also would be natural, given that "--cc" is the default, "git show -m" to show pairwise difference from each of the parents. We however always defaulted to --cc and there was no way to turn it off. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b449005997
Коммит
2bf6587349
|
@ -329,6 +329,15 @@ static int show_tree_object(const unsigned char *sha1,
|
|||
|
||||
static void show_rev_tweak_rev(struct rev_info *rev, struct setup_revision_opt *opt)
|
||||
{
|
||||
if (rev->ignore_merges) {
|
||||
/* There was no "-m" on the command line */
|
||||
rev->ignore_merges = 0;
|
||||
if (!rev->first_parent_only && !rev->combine_merges) {
|
||||
/* No "--first-parent", "-c", nor "--cc" */
|
||||
rev->combine_merges = 1;
|
||||
rev->dense_combined_merges = 1;
|
||||
}
|
||||
}
|
||||
if (!rev->diffopt.output_format)
|
||||
rev->diffopt.output_format = DIFF_FORMAT_PATCH;
|
||||
}
|
||||
|
@ -347,10 +356,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
|
|||
|
||||
init_revisions(&rev, prefix);
|
||||
rev.diff = 1;
|
||||
rev.combine_merges = 1;
|
||||
rev.dense_combined_merges = 1;
|
||||
rev.always_show_header = 1;
|
||||
rev.ignore_merges = 0;
|
||||
rev.no_walk = 1;
|
||||
memset(&opt, 0, sizeof(opt));
|
||||
opt.def = "HEAD";
|
||||
|
|
|
@ -239,6 +239,8 @@ show --root initial
|
|||
show side
|
||||
show master
|
||||
show -c master
|
||||
show -m master
|
||||
show --first-parent master
|
||||
show --stat side
|
||||
show --stat --summary side
|
||||
show --patch-with-stat side
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
$ git show --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'
|
||||
|
||||
diff --git a/dir/sub b/dir/sub
|
||||
index cead32e..992913c 100644
|
||||
--- a/dir/sub
|
||||
+++ b/dir/sub
|
||||
@@ -4,3 +4,5 @@ C
|
||||
D
|
||||
E
|
||||
F
|
||||
+1
|
||||
+2
|
||||
diff --git a/file0 b/file0
|
||||
index b414108..10a8a9f 100644
|
||||
--- a/file0
|
||||
+++ b/file0
|
||||
@@ -4,3 +4,6 @@
|
||||
4
|
||||
5
|
||||
6
|
||||
+A
|
||||
+B
|
||||
+C
|
||||
$
|
|
@ -0,0 +1,93 @@
|
|||
$ git show -m master
|
||||
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 (from 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0)
|
||||
Merge: 9a6d494 c7a2ab9
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Mon Jun 26 00:04:00 2006 +0000
|
||||
|
||||
Merge branch 'side'
|
||||
|
||||
diff --git a/dir/sub b/dir/sub
|
||||
index cead32e..992913c 100644
|
||||
--- a/dir/sub
|
||||
+++ b/dir/sub
|
||||
@@ -4,3 +4,5 @@ C
|
||||
D
|
||||
E
|
||||
F
|
||||
+1
|
||||
+2
|
||||
diff --git a/file0 b/file0
|
||||
index b414108..10a8a9f 100644
|
||||
--- a/file0
|
||||
+++ b/file0
|
||||
@@ -4,3 +4,6 @@
|
||||
4
|
||||
5
|
||||
6
|
||||
+A
|
||||
+B
|
||||
+C
|
||||
|
||||
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 (from c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a)
|
||||
Merge: 9a6d494 c7a2ab9
|
||||
Author: A U Thor <author@example.com>
|
||||
Date: Mon Jun 26 00:04:00 2006 +0000
|
||||
|
||||
Merge branch 'side'
|
||||
|
||||
diff --git a/dir/sub b/dir/sub
|
||||
index 7289e35..992913c 100644
|
||||
--- a/dir/sub
|
||||
+++ b/dir/sub
|
||||
@@ -1,4 +1,8 @@
|
||||
A
|
||||
B
|
||||
+C
|
||||
+D
|
||||
+E
|
||||
+F
|
||||
1
|
||||
2
|
||||
diff --git a/file0 b/file0
|
||||
index f4615da..10a8a9f 100644
|
||||
--- a/file0
|
||||
+++ b/file0
|
||||
@@ -1,6 +1,9 @@
|
||||
1
|
||||
2
|
||||
3
|
||||
+4
|
||||
+5
|
||||
+6
|
||||
A
|
||||
B
|
||||
C
|
||||
diff --git a/file1 b/file1
|
||||
new file mode 100644
|
||||
index 0000000..b1e6722
|
||||
--- /dev/null
|
||||
+++ b/file1
|
||||
@@ -0,0 +1,3 @@
|
||||
+A
|
||||
+B
|
||||
+C
|
||||
diff --git a/file2 b/file2
|
||||
deleted file mode 100644
|
||||
index 01e79c3..0000000
|
||||
--- a/file2
|
||||
+++ /dev/null
|
||||
@@ -1,3 +0,0 @@
|
||||
-1
|
||||
-2
|
||||
-3
|
||||
diff --git a/file3 b/file3
|
||||
deleted file mode 100644
|
||||
index 7289e35..0000000
|
||||
--- a/file3
|
||||
+++ /dev/null
|
||||
@@ -1,4 +0,0 @@
|
||||
-A
|
||||
-B
|
||||
-1
|
||||
-2
|
||||
$
|
Загрузка…
Ссылка в новой задаче