Signed-off-by: Jaime Soriano Pastor <[email protected]>
---
t/t9904-unmerged-file-with-merged-entry.sh | 86 ++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100755 t/t9904-unmerged-file-with-merged-entry.sh
diff --git a/t/t9904-unmerged-file-with-merged-entry.sh
b/t/t9904-unmerged-file-with-merged-entry.sh
new file mode 100755
index 0000000..945bc1c
--- /dev/null
+++ b/t/t9904-unmerged-file-with-merged-entry.sh
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+test_description='Operations with unmerged files with merged entries'
+
+. ./test-lib.sh
+
+setup_repository() {
+ test_commit A conflict A
+ test_commit A conflict2 A2 branchbase
+ test_commit B conflict B
+ test_commit B conflict2 B2
+ git checkout branchbase -b branch1
+ test_commit C conflict C
+ test_commit C conflict2 C2
+ test_commit something otherfile otherfile
+}
+
+setup_stage_state() {
+ git checkout -f HEAD
+ {
+ git ls-files -s conflict conflict2
+ git merge master > /dev/null
+ git ls-files -s conflict conflict2
+ } > index
+ cat index | git update-index --index-info
+ rm index
+}
+
+test_expect_success 'setup - two branches with conflicting files' '
+ setup_repository &&
+ setup_stage_state &&
+ git ls-files -s conflict > output &&
+ test_line_count = 4 output &&
+ git ls-files -s conflict2 > output &&
+ test_line_count = 4 output &&
+ rm output
+'
+
+test_expect_success 'git commit -a' '
+ setup_stage_state &&
+ test_must_fail git commit -a
+'
+
+test_expect_success 'git add conflict' '
+ setup_stage_state &&
+ test_must_fail git add conflict
+'
+
+test_expect_success 'git rm conflict' '
+ setup_stage_state &&
+ test_must_fail git rm conflict
+'
+
+test_expect_success 'git add otherfile' '
+ setup_stage_state &&
+ >otherfile &&
+ git add otherfile
+'
+
+test_expect_success 'git rm otherfile' '
+ setup_stage_state &&
+ git rm otherfile
+'
+
+test_expect_success 'git add newfile' '
+ setup_stage_state &&
+ >newfile &&
+ git add newfile
+'
+
+test_expect_success 'git merge branch' '
+ setup_stage_state &&
+ test_must_fail git merge master
+'
+
+test_expect_success 'git reset --hard' '
+ setup_stage_state &&
+ git reset --hard &&
+ git show HEAD:conflict > expected &&
+ cat conflict > current &&
+ git show HEAD:conflict2 > expected &&
+ cat conflict2 > current &&
+ test_cmp expected current
+'
+
+test_done
--
2.0.4.4.gaf54b2b
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html