comparison tests/test-git-import @ 10928:377d879e9d1b stable

test-git-import: better testing, check nodeids
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Fri, 16 Apr 2010 01:57:53 +0200
parents 9e2ab10728a2
children 77600d697d0e
comparison
equal deleted inserted replaced
10927:c1d375e93ee8 10928:377d879e9d1b
2 2
3 hg init a 3 hg init a
4 cd a 4 cd a
5 5
6 echo % new file 6 echo % new file
7 hg import -mnew - <<EOF 7 hg import -d "1000000 0" -mnew - <<EOF
8 diff --git a/new b/new 8 diff --git a/new b/new
9 new file mode 100644 9 new file mode 100644
10 index 0000000..7898192 10 index 0000000..7898192
11 --- /dev/null 11 --- /dev/null
12 +++ b/new 12 +++ b/new
13 @@ -0,0 +1 @@ 13 @@ -0,0 +1 @@
14 +a 14 +a
15 EOF 15 EOF
16 hg tip -q
16 17
17 echo % new empty file 18 echo % new empty file
18 hg import -mempty - <<EOF 19 hg import -d "1000000 0" -mempty - <<EOF
19 diff --git a/empty b/empty 20 diff --git a/empty b/empty
20 new file mode 100644 21 new file mode 100644
21 EOF 22 EOF
23 hg tip -q
22 hg locate empty 24 hg locate empty
23 25
24 echo % chmod +x 26 echo % chmod +x
25 hg import -msetx - <<EOF 27 hg import -d "1000000 0" -msetx - <<EOF
26 diff --git a/new b/new 28 diff --git a/new b/new
27 old mode 100644 29 old mode 100644
28 new mode 100755 30 new mode 100755
29 EOF 31 EOF
32 hg tip -q
30 33
31 test -x new || echo failed 34 test -x new || echo failed
32 35
33 echo % copy 36 echo % copy
34 hg import -mcopy - <<EOF 37 hg import -d "1000000 0" -mcopy - <<EOF
35 diff --git a/new b/copy 38 diff --git a/new b/copy
36 old mode 100755 39 old mode 100755
37 new mode 100644 40 new mode 100644
38 similarity index 100% 41 similarity index 100%
39 copy from new 42 copy from new
41 diff --git a/new b/copyx 44 diff --git a/new b/copyx
42 similarity index 100% 45 similarity index 100%
43 copy from new 46 copy from new
44 copy to copyx 47 copy to copyx
45 EOF 48 EOF
49 hg tip -q
46 50
47 if "$TESTDIR/hghave" -q execbit; then 51 if "$TESTDIR/hghave" -q execbit; then
48 test -f copy -a ! -x copy || echo failed 52 test -f copy -a ! -x copy || echo failed
49 test -x copyx || echo failed 53 test -x copyx || echo failed
50 else 54 else
52 fi 56 fi
53 cat copy 57 cat copy
54 hg cat copy 58 hg cat copy
55 59
56 echo % rename 60 echo % rename
57 hg import -mrename - <<EOF 61 hg import -d "1000000 0" -mrename - <<EOF
58 diff --git a/copy b/rename 62 diff --git a/copy b/rename
59 similarity index 100% 63 similarity index 100%
60 rename from copy 64 rename from copy
61 rename to rename 65 rename to rename
62 EOF 66 EOF
67 hg tip -q
63 68
64 hg locate 69 hg locate
65 70
66 echo % delete 71 echo % delete
67 hg import -mdelete - <<EOF 72 hg import -d "1000000 0" -mdelete - <<EOF
68 diff --git a/copyx b/copyx 73 diff --git a/copyx b/copyx
69 deleted file mode 100755 74 deleted file mode 100755
70 index 7898192..0000000 75 index 7898192..0000000
71 --- a/copyx 76 --- a/copyx
72 +++ /dev/null 77 +++ /dev/null
73 @@ -1 +0,0 @@ 78 @@ -1 +0,0 @@
74 -a 79 -a
75 EOF 80 EOF
81 hg tip -q
76 82
77 hg locate 83 hg locate
78 test -f copyx && echo failed || true 84 test -f copyx && echo failed || true
79 85
80 echo % regular diff 86 echo % regular diff
81 hg import -mregular - <<EOF 87 hg import -d "1000000 0" -mregular - <<EOF
82 diff --git a/rename b/rename 88 diff --git a/rename b/rename
83 index 7898192..72e1fe3 100644 89 index 7898192..72e1fe3 100644
84 --- a/rename 90 --- a/rename
85 +++ b/rename 91 +++ b/rename
86 @@ -1 +1,5 @@ 92 @@ -1 +1,5 @@
88 +a 94 +a
89 +a 95 +a
90 +a 96 +a
91 +a 97 +a
92 EOF 98 EOF
99 hg tip -q
93 100
94 echo % copy and modify 101 echo % copy and modify
95 hg import -mcopymod - <<EOF 102 hg import -d "1000000 0" -mcopymod - <<EOF
96 diff --git a/rename b/copy2 103 diff --git a/rename b/copy2
97 similarity index 80% 104 similarity index 80%
98 copy from rename 105 copy from rename
99 copy to copy2 106 copy to copy2
100 index 72e1fe3..b53c148 100644 107 index 72e1fe3..b53c148 100644
106 -a 113 -a
107 +b 114 +b
108 a 115 a
109 a 116 a
110 EOF 117 EOF
118 hg tip -q
111 119
112 hg cat copy2 120 hg cat copy2
113 121
114 echo % rename and modify 122 echo % rename and modify
115 hg import -mrenamemod - <<EOF 123 hg import -d "1000000 0" -mrenamemod - <<EOF
116 diff --git a/copy2 b/rename2 124 diff --git a/copy2 b/rename2
117 similarity index 80% 125 similarity index 80%
118 rename from copy2 126 rename from copy2
119 rename to rename2 127 rename to rename2
120 index b53c148..8f81e29 100644 128 index b53c148..8f81e29 100644
126 b 134 b
127 -a 135 -a
128 +c 136 +c
129 a 137 a
130 EOF 138 EOF
139 hg tip -q
131 140
132 hg locate copy2 141 hg locate copy2
133 hg cat rename2 142 hg cat rename2
134 143
135 echo % one file renamed multiple times 144 echo % one file renamed multiple times
136 hg import -mmultirenames - <<EOF 145 hg import -d "1000000 0" -mmultirenames - <<EOF
137 diff --git a/rename2 b/rename3 146 diff --git a/rename2 b/rename3
138 rename from rename2 147 rename from rename2
139 rename to rename3 148 rename to rename3
140 diff --git a/rename2 b/rename3-2 149 diff --git a/rename2 b/rename3-2
141 rename from rename2 150 rename from rename2
142 rename to rename3-2 151 rename to rename3-2
143 EOF 152 EOF
153 hg tip -q
144 hg log -vr. --template '{rev} {files} / {file_copies}\n' 154 hg log -vr. --template '{rev} {files} / {file_copies}\n'
145 155
146 hg locate rename2 rename3 rename3-2 156 hg locate rename2 rename3 rename3-2
147 hg cat rename3 157 hg cat rename3
148 echo 158 echo
150 160
151 echo foo > foo 161 echo foo > foo
152 hg add foo 162 hg add foo
153 hg ci -m 'add foo' 163 hg ci -m 'add foo'
154 echo % binary files and regular patch hunks 164 echo % binary files and regular patch hunks
155 hg import -m binaryregular - <<EOF 165 hg import -d "1000000 0" -m binaryregular - <<EOF
156 diff --git a/binary b/binary 166 diff --git a/binary b/binary
157 new file mode 100644 167 new file mode 100644
158 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 168 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4
159 GIT binary patch 169 GIT binary patch
160 literal 4 170 literal 4
162 172
163 diff --git a/foo b/foo2 173 diff --git a/foo b/foo2
164 rename from foo 174 rename from foo
165 rename to foo2 175 rename to foo2
166 EOF 176 EOF
177 hg tip -q
167 cat foo2 178 cat foo2
168 hg manifest --debug | grep binary 179 hg manifest --debug | grep binary
169 180
170 echo % many binary files 181 echo % many binary files
171 hg import -m multibinary - <<EOF 182 hg import -d "1000000 0" -m multibinary - <<EOF
172 diff --git a/mbinary1 b/mbinary1 183 diff --git a/mbinary1 b/mbinary1
173 new file mode 100644 184 new file mode 100644
174 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 185 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4
175 GIT binary patch 186 GIT binary patch
176 literal 4 187 literal 4
182 GIT binary patch 193 GIT binary patch
183 literal 5 194 literal 5
184 Mc\${NkU|\`?^000jF3jhEB 195 Mc\${NkU|\`?^000jF3jhEB
185 196
186 EOF 197 EOF
198 hg tip -q
187 hg manifest --debug | grep mbinary 199 hg manifest --debug | grep mbinary
188 200
189 echo % filenames with spaces 201 echo % filenames with spaces
190 hg import -m spaces - <<EOF 202 hg import -d "1000000 0" -m spaces - <<EOF
191 diff --git a/foo bar b/foo bar 203 diff --git a/foo bar b/foo bar
192 new file mode 100644 204 new file mode 100644
193 index 0000000..257cc56 205 index 0000000..257cc56
194 --- /dev/null 206 --- /dev/null
195 +++ b/foo bar 207 +++ b/foo bar
196 @@ -0,0 +1 @@ 208 @@ -0,0 +1 @@
197 +foo 209 +foo
198 EOF 210 EOF
211 hg tip -q
199 cat "foo bar" 212 cat "foo bar"
200 213
201 echo % copy then modify the original file 214 echo % copy then modify the original file
202 hg import -m copy-mod-orig - <<EOF 215 hg import -d "1000000 0" -m copy-mod-orig - <<EOF
203 diff --git a/foo2 b/foo2 216 diff --git a/foo2 b/foo2
204 index 257cc56..fe08ec6 100644 217 index 257cc56..fe08ec6 100644
205 --- a/foo2 218 --- a/foo2
206 +++ b/foo2 219 +++ b/foo2
207 @@ -1 +1,2 @@ 220 @@ -1 +1,2 @@
210 diff --git a/foo2 b/foo3 223 diff --git a/foo2 b/foo3
211 similarity index 100% 224 similarity index 100%
212 copy from foo2 225 copy from foo2
213 copy to foo3 226 copy to foo3
214 EOF 227 EOF
228 hg tip -q
215 229
216 cat foo3 230 cat foo3