You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.5 KiB
79 lines
1.5 KiB
#!/bin/sh |
|
|
|
test_description='test combined/stat/moved interaction' |
|
. ./test-lib.sh |
|
|
|
# This test covers a weird 3-way interaction between "--cc -p", which will run |
|
# the combined diff code, along with "--stat", which will be computed as a |
|
# first-parent stat during the combined diff, and "--color-moved", which |
|
# enables the emitted_symbols list to store the diff in memory. |
|
|
|
test_expect_success 'set up history with a merge' ' |
|
test_commit A && |
|
test_commit B && |
|
git checkout -b side HEAD^ && |
|
test_commit C && |
|
git merge -m M master && |
|
test_commit D |
|
' |
|
|
|
test_expect_success 'log --cc -p --stat --color-moved' ' |
|
cat >expect <<-\EOF && |
|
commit D |
|
--- |
|
D.t | 1 + |
|
1 file changed, 1 insertion(+) |
|
|
|
diff --git a/D.t b/D.t |
|
new file mode 100644 |
|
index 0000000..1784810 |
|
--- /dev/null |
|
+++ b/D.t |
|
@@ -0,0 +1 @@ |
|
+D |
|
commit M |
|
|
|
B.t | 1 + |
|
1 file changed, 1 insertion(+) |
|
commit C |
|
--- |
|
C.t | 1 + |
|
1 file changed, 1 insertion(+) |
|
|
|
diff --git a/C.t b/C.t |
|
new file mode 100644 |
|
index 0000000..3cc58df |
|
--- /dev/null |
|
+++ b/C.t |
|
@@ -0,0 +1 @@ |
|
+C |
|
commit B |
|
--- |
|
B.t | 1 + |
|
1 file changed, 1 insertion(+) |
|
|
|
diff --git a/B.t b/B.t |
|
new file mode 100644 |
|
index 0000000..223b783 |
|
--- /dev/null |
|
+++ b/B.t |
|
@@ -0,0 +1 @@ |
|
+B |
|
commit A |
|
--- |
|
A.t | 1 + |
|
1 file changed, 1 insertion(+) |
|
|
|
diff --git a/A.t b/A.t |
|
new file mode 100644 |
|
index 0000000..f70f10e |
|
--- /dev/null |
|
+++ b/A.t |
|
@@ -0,0 +1 @@ |
|
+A |
|
EOF |
|
git log --format="commit %s" --cc -p --stat --color-moved >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_done
|
|
|