@matheusbsbs / matheus-bagliano / commits / 175659b4cc
Fork 0

t7607: add leading-path tests

Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Clemens Buchacher committed Oct 10, 2010 at 10:38 UTC 175659b4ccdf14aa8d9c0144c5ed1a143bdc9c01
1 file changed +51
t/t7607-merge-overwrite.sh
+51
@@ -12,6 +12,12 @@ test_expect_success 'setup' '
12 test_commit c1a c1.c "c1 a" &&
13 git reset --hard c0 &&
14 test_commit c2 c2.c &&
15 + git reset --hard c0 &&
16 + mkdir sub &&
17 + echo "sub/f" > sub/f &&
18 + git add sub/f &&
19 + git commit -m sub &&
20 + git tag sub &&
21 echo "VERY IMPORTANT CHANGES" > important
22 '
23
@@ -23,6 +29,14 @@ test_expect_success 'will not overwrite untracked file' '
29 test_cmp important c2.c
30 '
31
32 +test_expect_success 'will overwrite tracked file' '
33 + git reset --hard c1 &&
34 + cp important c2.c &&
35 + git add c2.c &&
36 + git commit -m important &&
37 + git checkout c2
38 +'
39 +
40 test_expect_success 'will not overwrite new file' '
41 git reset --hard c1 &&
42 cp important c2.c &&
@@ -76,6 +90,43 @@ test_expect_success 'will not overwrite removed file with staged changes' '
90 test_cmp important c1.c
91 '
92
93 +test_expect_success 'will not overwrite untracked subtree' '
94 + git reset --hard c0 &&
95 + rm -rf sub &&
96 + mkdir -p sub/f &&
97 + cp important sub/f/important &&
98 + test_must_fail git merge sub &&
99 + test_path_is_missing .git/MERGE_HEAD &&
100 + test_cmp important sub/f/important
101 +'
102 +
103 +test_expect_failure 'will not overwrite untracked file in leading path' '
104 + git reset --hard c0 &&
105 + rm -rf sub &&
106 + cp important sub &&
107 + test_must_fail git merge sub &&
108 + test_path_is_missing .git/MERGE_HEAD &&
109 + test_cmp important sub
110 +'
111 +
112 +test_expect_failure SYMLINKS 'will not overwrite untracked symlink in leading path' '
113 + git reset --hard c0 &&
114 + rm -rf sub &&
115 + mkdir sub2 &&
116 + ln -s sub2 sub &&
117 + test_must_fail git merge sub &&
118 + test_path_is_missing .git/MERGE_HEAD
119 +'
120 +
121 +test_expect_success SYMLINKS 'will not be confused by symlink in leading path' '
122 + git reset --hard c0 &&
123 + rm -rf sub &&
124 + ln -s sub2 sub &&
125 + git add sub &&
126 + git commit -m ln &&
127 + git checkout sub
128 +'
129 +
130 cat >expect <<\EOF
131 error: Untracked working tree file 'c0.c' would be overwritten by merge.
132 fatal: read-tree failed