Mercurial > hg
comparison tests/test-transplant.t @ 11800:88c3ff051270
tests: unify test-transplant
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Thu, 12 Aug 2010 22:14:19 +0900 |
parents | tests/test-transplant@eba6c8687fd2 |
children | fddacca3202e |
comparison
equal
deleted
inserted
replaced
11799:ddebb6a690b4 | 11800:88c3ff051270 |
---|---|
1 $ cat <<EOF >> $HGRCPATH | |
2 > [extensions] | |
3 > transplant= | |
4 > EOF | |
5 | |
6 $ hg init t | |
7 $ cd t | |
8 $ echo r1 > r1 | |
9 $ hg ci -Amr1 -d'0 0' | |
10 adding r1 | |
11 $ echo r2 > r2 | |
12 $ hg ci -Amr2 -d'1 0' | |
13 adding r2 | |
14 $ hg up 0 | |
15 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
16 | |
17 $ echo b1 > b1 | |
18 $ hg ci -Amb1 -d '0 0' | |
19 adding b1 | |
20 created new head | |
21 $ echo b2 > b2 | |
22 $ hg ci -Amb2 -d '1 0' | |
23 adding b2 | |
24 $ echo b3 > b3 | |
25 $ hg ci -Amb3 -d '2 0' | |
26 adding b3 | |
27 | |
28 $ hg log --template '{rev} {parents} {desc}\n' | |
29 4 b3 | |
30 3 b2 | |
31 2 0:17ab29e464c6 b1 | |
32 1 r2 | |
33 0 r1 | |
34 | |
35 $ hg clone . ../rebase | |
36 updating to branch default | |
37 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
38 $ cd ../rebase | |
39 | |
40 $ hg up -C 1 | |
41 1 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
42 | |
43 rebase b onto r1 | |
44 | |
45 $ hg transplant -a -b tip | |
46 applying 37a1297eb21b | |
47 37a1297eb21b transplanted to e234d668f844 | |
48 applying 722f4667af76 | |
49 722f4667af76 transplanted to 539f377d78df | |
50 applying a53251cdf717 | |
51 a53251cdf717 transplanted to ffd6818a3975 | |
52 $ hg log --template '{rev} {parents} {desc}\n' | |
53 7 b3 | |
54 6 b2 | |
55 5 1:d11e3596cc1a b1 | |
56 4 b3 | |
57 3 b2 | |
58 2 0:17ab29e464c6 b1 | |
59 1 r2 | |
60 0 r1 | |
61 | |
62 $ hg clone ../t ../prune | |
63 updating to branch default | |
64 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
65 $ cd ../prune | |
66 | |
67 $ hg up -C 1 | |
68 1 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
69 | |
70 rebase b onto r1, skipping b2 | |
71 | |
72 $ hg transplant -a -b tip -p 3 | |
73 applying 37a1297eb21b | |
74 37a1297eb21b transplanted to e234d668f844 | |
75 applying a53251cdf717 | |
76 a53251cdf717 transplanted to 7275fda4d04f | |
77 $ hg log --template '{rev} {parents} {desc}\n' | |
78 6 b3 | |
79 5 1:d11e3596cc1a b1 | |
80 4 b3 | |
81 3 b2 | |
82 2 0:17ab29e464c6 b1 | |
83 1 r2 | |
84 0 r1 | |
85 | |
86 | |
87 remote transplant | |
88 | |
89 $ hg clone -r 1 ../t ../remote | |
90 requesting all changes | |
91 adding changesets | |
92 adding manifests | |
93 adding file changes | |
94 added 2 changesets with 2 changes to 2 files | |
95 updating to branch default | |
96 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
97 $ cd ../remote | |
98 $ hg transplant --log -s ../t 2 4 | |
99 searching for changes | |
100 applying 37a1297eb21b | |
101 37a1297eb21b transplanted to c19cf0ccb069 | |
102 applying a53251cdf717 | |
103 a53251cdf717 transplanted to f7fe5bf98525 | |
104 $ hg log --template '{rev} {parents} {desc}\n' | |
105 3 b3 | |
106 (transplanted from a53251cdf717679d1907b289f991534be05c997a) | |
107 2 b1 | |
108 (transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21) | |
109 1 r2 | |
110 0 r1 | |
111 | |
112 skip previous transplants | |
113 | |
114 $ hg transplant -s ../t -a -b 4 | |
115 searching for changes | |
116 applying 722f4667af76 | |
117 722f4667af76 transplanted to 47156cd86c0b | |
118 $ hg log --template '{rev} {parents} {desc}\n' | |
119 4 b2 | |
120 3 b3 | |
121 (transplanted from a53251cdf717679d1907b289f991534be05c997a) | |
122 2 b1 | |
123 (transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21) | |
124 1 r2 | |
125 0 r1 | |
126 | |
127 skip local changes transplanted to the source | |
128 | |
129 $ echo b4 > b4 | |
130 $ hg ci -Amb4 -d '3 0' | |
131 adding b4 | |
132 $ hg clone ../t ../pullback | |
133 updating to branch default | |
134 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
135 $ cd ../pullback | |
136 $ hg transplant -s ../remote -a -b tip | |
137 searching for changes | |
138 applying 4333daefcb15 | |
139 4333daefcb15 transplanted to 5f42c04e07cc | |
140 | |
141 | |
142 remote transplant with pull | |
143 | |
144 $ hg -R ../t serve -p $HGPORT -d --pid-file=../t.pid | |
145 $ cat ../t.pid >> $DAEMON_PIDS | |
146 | |
147 $ hg clone -r 0 ../t ../rp | |
148 requesting all changes | |
149 adding changesets | |
150 adding manifests | |
151 adding file changes | |
152 added 1 changesets with 1 changes to 1 files | |
153 updating to branch default | |
154 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
155 $ cd ../rp | |
156 $ hg transplant -s http://localhost:$HGPORT/ 2 4 | |
157 searching for changes | |
158 searching for changes | |
159 adding changesets | |
160 adding manifests | |
161 adding file changes | |
162 added 1 changesets with 1 changes to 1 files | |
163 applying a53251cdf717 | |
164 a53251cdf717 transplanted to 8d9279348abb | |
165 $ hg log --template '{rev} {parents} {desc}\n' | |
166 2 b3 | |
167 1 b1 | |
168 0 r1 | |
169 | |
170 transplant --continue | |
171 | |
172 $ hg init ../tc | |
173 $ cd ../tc | |
174 $ cat <<EOF > foo | |
175 > foo | |
176 > bar | |
177 > baz | |
178 > EOF | |
179 $ echo toremove > toremove | |
180 $ hg ci -Amfoo | |
181 adding foo | |
182 adding toremove | |
183 $ cat <<EOF > foo | |
184 > foo2 | |
185 > bar2 | |
186 > baz2 | |
187 > EOF | |
188 $ rm toremove | |
189 $ echo added > added | |
190 $ hg ci -Amfoo2 | |
191 adding added | |
192 removing toremove | |
193 $ echo bar > bar | |
194 $ hg ci -Ambar | |
195 adding bar | |
196 $ echo bar2 >> bar | |
197 $ hg ci -mbar2 | |
198 $ hg up 0 | |
199 2 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
200 $ echo foobar > foo | |
201 $ hg ci -mfoobar | |
202 created new head | |
203 $ hg transplant 1:3 | |
204 applying a1e30dd1b8e7 | |
205 patching file foo | |
206 Hunk #1 FAILED at 0 | |
207 1 out of 1 hunks FAILED -- saving rejects to file foo.rej | |
208 patch failed to apply | |
209 abort: Fix up the merge and run hg transplant --continue | |
210 | |
211 transplant -c shouldn't use an old changeset | |
212 | |
213 $ hg up -C | |
214 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
215 $ rm added | |
216 $ hg transplant 1 | |
217 applying a1e30dd1b8e7 | |
218 patching file foo | |
219 Hunk #1 FAILED at 0 | |
220 1 out of 1 hunks FAILED -- saving rejects to file foo.rej | |
221 patch failed to apply | |
222 abort: Fix up the merge and run hg transplant --continue | |
223 $ hg transplant --continue | |
224 a1e30dd1b8e7 transplanted as f1563cf27039 | |
225 $ hg transplant 1:3 | |
226 skipping already applied revision 1:a1e30dd1b8e7 | |
227 applying 1739ac5f6139 | |
228 1739ac5f6139 transplanted to d649c221319f | |
229 applying 0282d5fbbe02 | |
230 0282d5fbbe02 transplanted to 77418277ccb3 | |
231 $ hg locate | |
232 added | |
233 bar | |
234 foo | |
235 $ cd .. | |
236 | |
237 Test transplant --merge (issue 1111) | |
238 test transplant merge | |
239 | |
240 $ hg init t1111 | |
241 $ cd t1111 | |
242 $ echo a > a | |
243 $ hg ci -Am adda | |
244 adding a | |
245 $ echo b >> a | |
246 $ hg ci -m appendb | |
247 $ echo c >> a | |
248 $ hg ci -m appendc | |
249 $ hg up -C 0 | |
250 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
251 $ echo d >> a | |
252 $ hg ci -m appendd | |
253 created new head | |
254 | |
255 tranplant | |
256 | |
257 $ hg transplant -m 1 | |
258 applying 42dc4432fd35 | |
259 1:42dc4432fd35 merged at a9f4acbac129 | |
260 $ cd .. | |
261 | |
262 test transplant into empty repository | |
263 | |
264 $ hg init empty | |
265 $ cd empty | |
266 $ hg transplant -s ../t -b tip -a | |
267 requesting all changes | |
268 adding changesets | |
269 adding manifests | |
270 adding file changes | |
271 added 4 changesets with 4 changes to 4 files | |
272 $ cd .. | |
273 | |
274 | |
275 test filter | |
276 | |
277 $ hg init filter | |
278 $ cd filter | |
279 $ cat <<'EOF' >test-filter | |
280 > #!/bin/sh | |
281 > sed 's/r1/r2/' $1 > $1.new | |
282 > mv $1.new $1 | |
283 > EOF | |
284 $ chmod +x test-filter | |
285 $ hg transplant -s ../t -b tip -a --filter ./test-filter | |
286 filtering .* | |
287 applying 17ab29e464c6 | |
288 17ab29e464c6 transplanted to e9ffc54ea104 | |
289 filtering .* | |
290 applying 37a1297eb21b | |
291 37a1297eb21b transplanted to 348b36d0b6a5 | |
292 filtering .* | |
293 applying 722f4667af76 | |
294 722f4667af76 transplanted to 0aa6979afb95 | |
295 filtering .* | |
296 applying a53251cdf717 | |
297 a53251cdf717 transplanted to 14f8512272b5 | |
298 $ hg log --template '{rev} {parents} {desc}\n' | |
299 3 b3 | |
300 2 b2 | |
301 1 b1 | |
302 0 r2 | |
303 $ cd .. | |
304 | |
305 | |
306 test filter with failed patch | |
307 | |
308 $ cd filter | |
309 $ hg up 0 | |
310 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
311 $ echo foo > b1 | |
312 $ hg ci -d '0 0' -Am foo | |
313 adding b1 | |
314 adding test-filter | |
315 created new head | |
316 $ hg transplant 1 --filter ./test-filter | |
317 filtering .* | |
318 applying 348b36d0b6a5 | |
319 file b1 already exists | |
320 1 out of 1 hunks FAILED -- saving rejects to file b1.rej | |
321 patch failed to apply | |
322 abort: Fix up the merge and run hg transplant --continue | |
323 $ cd .. | |
324 | |
325 | |
326 test with a win32ext like setup (differing EOLs) | |
327 | |
328 $ hg init twin1 | |
329 $ cd twin1 | |
330 $ echo a > a | |
331 $ echo b > b | |
332 $ echo b >> b | |
333 $ hg ci -Am t | |
334 adding a | |
335 adding b | |
336 $ echo a > b | |
337 $ echo b >> b | |
338 $ hg ci -m changeb | |
339 $ cd .. | |
340 | |
341 $ hg init twin2 | |
342 $ cd twin2 | |
343 $ echo '[patch]' >> .hg/hgrc | |
344 $ echo 'eol = crlf' >> .hg/hgrc | |
345 $ python -c "file('b', 'wb').write('b\r\nb\r\n')" | |
346 $ hg ci -m addb | |
347 nothing changed | |
348 $ hg transplant -s ../twin1 tip | |
349 applying 2e849d776c17 | |
350 2e849d776c17 transplanted to 589cea8ba85b | |
351 $ python -c "print repr(file('b', 'rb').read())" | |
352 'a\r\nb\r\n' | |
353 $ cd .. |