Signed-off-by: Jaime Soriano Pastor <jsorianopastor@xxxxxxxxx> --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html