|
1 =============================================================== |
|
2 Tests the resolution of public content divergence: corner cases |
|
3 =============================================================== |
|
4 |
|
5 This file intend to cover cases that are specific enough to not fit in the |
|
6 other cases. |
|
7 |
|
8 Setup |
|
9 ===== |
|
10 $ cat >> $HGRCPATH <<EOF |
|
11 > [alias] |
|
12 > glog = log -GT "{rev}:{node|short} {desc|firstline}\n {phase} {instabilities}\n\n" |
|
13 > [phases] |
|
14 > publish = False |
|
15 > [extensions] |
|
16 > rebase = |
|
17 > EOF |
|
18 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH |
|
19 |
|
20 Testing when divergence is not created by actual diff change, but because of rebasing: |
|
21 -------------------------------------------------------------------------------------- |
|
22 |
|
23 Prepare the repo: |
|
24 |
|
25 $ hg init rebasediv |
|
26 $ cd rebasediv |
|
27 $ for ch in a b c; do |
|
28 > echo $ch > $ch; |
|
29 > hg ci -Am "added "$ch; |
|
30 > done; |
|
31 adding a |
|
32 adding b |
|
33 adding c |
|
34 |
|
35 $ hg glog |
|
36 @ 2:155349b645be added c |
|
37 | draft |
|
38 | |
|
39 o 1:5f6d8a4bf34a added b |
|
40 | draft |
|
41 | |
|
42 o 0:9092f1db7931 added a |
|
43 draft |
|
44 |
|
45 |
|
46 On server side: a new cset is added based on rev 1 and rev 2 is rebased on newly added cset: |
|
47 |
|
48 $ hg up .^ -q |
|
49 $ echo d > d |
|
50 $ hg ci -Am "added d" |
|
51 adding d |
|
52 created new head |
|
53 |
|
54 $ hg rebase -r 2 -d . |
|
55 rebasing 2:155349b645be "added c" |
|
56 |
|
57 $ hg glog |
|
58 o 4:c0d7ee6604ea added c |
|
59 | draft |
|
60 | |
|
61 @ 3:c9241b0f2d5b added d |
|
62 | draft |
|
63 | |
|
64 o 1:5f6d8a4bf34a added b |
|
65 | draft |
|
66 | |
|
67 o 0:9092f1db7931 added a |
|
68 draft |
|
69 |
|
70 |
|
71 On user side: user has not pulled yet and amended the rev 2 which created the divergence after pull: |
|
72 $ hg up 2 --hidden -q |
|
73 updated to hidden changeset 155349b645be |
|
74 (hidden revision '155349b645be' was rewritten as: c0d7ee6604ea) |
|
75 working directory parent is obsolete! (155349b645be) |
|
76 |
|
77 $ echo cc >> c |
|
78 $ hg ci --amend -m "updated c" |
|
79 2 new content-divergent changesets |
|
80 |
|
81 Lets change the phase to --public of branch which is pulled from server: |
|
82 $ hg phase --public -r 4 |
|
83 $ hg glog -p |
|
84 @ 5:f5f9b4fc8b77 updated c |
|
85 | draft content-divergent |
|
86 | |
|
87 | diff -r 5f6d8a4bf34a -r f5f9b4fc8b77 c |
|
88 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
89 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
90 | @@ -0,0 +1,2 @@ |
|
91 | +c |
|
92 | +cc |
|
93 | |
|
94 | o 4:c0d7ee6604ea added c |
|
95 | | public |
|
96 | | |
|
97 | | diff -r c9241b0f2d5b -r c0d7ee6604ea c |
|
98 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
99 | | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
100 | | @@ -0,0 +1,1 @@ |
|
101 | | +c |
|
102 | | |
|
103 | o 3:c9241b0f2d5b added d |
|
104 |/ public |
|
105 | |
|
106 | diff -r 5f6d8a4bf34a -r c9241b0f2d5b d |
|
107 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
108 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
109 | @@ -0,0 +1,1 @@ |
|
110 | +d |
|
111 | |
|
112 o 1:5f6d8a4bf34a added b |
|
113 | public |
|
114 | |
|
115 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b |
|
116 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
117 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 |
|
118 | @@ -0,0 +1,1 @@ |
|
119 | +b |
|
120 | |
|
121 o 0:9092f1db7931 added a |
|
122 public |
|
123 |
|
124 diff -r 000000000000 -r 9092f1db7931 a |
|
125 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
126 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
|
127 @@ -0,0 +1,1 @@ |
|
128 +a |
|
129 |
|
130 |
|
131 Evolve: |
|
132 $ hg evolve --content-divergent |
|
133 merge:[4] added c |
|
134 with: [5] updated c |
|
135 base: [2] added c |
|
136 rebasing "other" content-divergent changeset f5f9b4fc8b77 on c9241b0f2d5b |
|
137 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
138 committed as 3b336cbee992 |
|
139 working directory is now at 3b336cbee992 |
|
140 |
|
141 $ hg glog -p |
|
142 @ 8:3b336cbee992 phase-divergent update to c0d7ee6604ea: |
|
143 | draft |
|
144 | |
|
145 | diff -r c0d7ee6604ea -r 3b336cbee992 c |
|
146 | --- a/c Thu Jan 01 00:00:00 1970 +0000 |
|
147 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
148 | @@ -1,1 +1,2 @@ |
|
149 | c |
|
150 | +cc |
|
151 | |
|
152 o 4:c0d7ee6604ea added c |
|
153 | public |
|
154 | |
|
155 | diff -r c9241b0f2d5b -r c0d7ee6604ea c |
|
156 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
157 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
158 | @@ -0,0 +1,1 @@ |
|
159 | +c |
|
160 | |
|
161 o 3:c9241b0f2d5b added d |
|
162 | public |
|
163 | |
|
164 | diff -r 5f6d8a4bf34a -r c9241b0f2d5b d |
|
165 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
166 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
167 | @@ -0,0 +1,1 @@ |
|
168 | +d |
|
169 | |
|
170 o 1:5f6d8a4bf34a added b |
|
171 | public |
|
172 | |
|
173 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b |
|
174 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
175 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 |
|
176 | @@ -0,0 +1,1 @@ |
|
177 | +b |
|
178 | |
|
179 o 0:9092f1db7931 added a |
|
180 public |
|
181 |
|
182 diff -r 000000000000 -r 9092f1db7931 a |
|
183 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
184 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
|
185 @@ -0,0 +1,1 @@ |
|
186 +a |
|
187 |
|
188 Check that we don't have any unstable cset now: |
|
189 $ hg evolve -l |
|
190 $ cd .. |
|
191 |
|
192 Different parent, simple conflict on relocate, deleted file on actual merge |
|
193 --------------------------------------------------------------------------- |
|
194 |
|
195 Changeset "added c e" is also removing 'd'. This should conflict with the update |
|
196 to 'd' in the successors of 'adding d' when solving the content divergence. |
|
197 |
|
198 $ hg init pubdiv-parent-deleted-file |
|
199 $ cd pubdiv-parent-deleted-file |
|
200 $ for ch in a b c d; do |
|
201 > echo $ch > $ch; |
|
202 > hg ci -Aqm "added "$ch; |
|
203 > done; |
|
204 |
|
205 $ hg up 'desc("added b")' |
|
206 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
207 $ echo cfoo > c |
|
208 $ echo e > e |
|
209 $ hg add c e |
|
210 $ hg ci -m "added c e" |
|
211 created new head |
|
212 |
|
213 $ hg up 'desc("re:added c$")' |
|
214 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
215 $ echo dd > d |
|
216 $ hg add d |
|
217 $ hg ci -m "added d" |
|
218 created new head |
|
219 |
|
220 $ hg glog --patch --rev 'sort(all(), "topo")' |
|
221 @ 5:93cd84bbdaca added d |
|
222 | draft |
|
223 | |
|
224 | diff -r 155349b645be -r 93cd84bbdaca d |
|
225 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
226 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
227 | @@ -0,0 +1,1 @@ |
|
228 | +dd |
|
229 | |
|
230 | o 3:9150fe93bec6 added d |
|
231 |/ draft |
|
232 | |
|
233 | diff -r 155349b645be -r 9150fe93bec6 d |
|
234 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
235 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
236 | @@ -0,0 +1,1 @@ |
|
237 | +d |
|
238 | |
|
239 o 2:155349b645be added c |
|
240 | draft |
|
241 | |
|
242 | diff -r 5f6d8a4bf34a -r 155349b645be c |
|
243 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
244 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
245 | @@ -0,0 +1,1 @@ |
|
246 | +c |
|
247 | |
|
248 | o 4:e568fd1029bb added c e |
|
249 |/ draft |
|
250 | |
|
251 | diff -r 5f6d8a4bf34a -r e568fd1029bb c |
|
252 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
253 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
254 | @@ -0,0 +1,1 @@ |
|
255 | +cfoo |
|
256 | diff -r 5f6d8a4bf34a -r e568fd1029bb e |
|
257 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
258 | +++ b/e Thu Jan 01 00:00:00 1970 +0000 |
|
259 | @@ -0,0 +1,1 @@ |
|
260 | +e |
|
261 | |
|
262 o 1:5f6d8a4bf34a added b |
|
263 | draft |
|
264 | |
|
265 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b |
|
266 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
267 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 |
|
268 | @@ -0,0 +1,1 @@ |
|
269 | +b |
|
270 | |
|
271 o 0:9092f1db7931 added a |
|
272 draft |
|
273 |
|
274 diff -r 000000000000 -r 9092f1db7931 a |
|
275 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
276 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
|
277 @@ -0,0 +1,1 @@ |
|
278 +a |
|
279 |
|
280 $ hg prune 'min(desc("added d"))' -s 'max(desc("added d"))' |
|
281 1 changesets pruned |
|
282 $ hg prune 'min(desc("added d"))' -s 'desc("added c e")' --hidden |
|
283 1 changesets pruned |
|
284 2 new content-divergent changesets |
|
285 |
|
286 Change phase to public for one head: |
|
287 $ hg phase --public -r 'max(desc("added d"))' |
|
288 |
|
289 $ hg glog |
|
290 @ 5:93cd84bbdaca added d |
|
291 | public |
|
292 | |
|
293 | * 4:e568fd1029bb added c e |
|
294 | | draft content-divergent |
|
295 | | |
|
296 o | 2:155349b645be added c |
|
297 |/ public |
|
298 | |
|
299 o 1:5f6d8a4bf34a added b |
|
300 | public |
|
301 | |
|
302 o 0:9092f1db7931 added a |
|
303 public |
|
304 |
|
305 |
|
306 $ hg glog --patch --rev 'sort(all(), "topo")' --hidden |
|
307 @ 5:93cd84bbdaca added d |
|
308 | public |
|
309 | |
|
310 | diff -r 155349b645be -r 93cd84bbdaca d |
|
311 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
312 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
313 | @@ -0,0 +1,1 @@ |
|
314 | +dd |
|
315 | |
|
316 | x 3:9150fe93bec6 added d |
|
317 |/ draft |
|
318 | |
|
319 | diff -r 155349b645be -r 9150fe93bec6 d |
|
320 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
321 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
322 | @@ -0,0 +1,1 @@ |
|
323 | +d |
|
324 | |
|
325 o 2:155349b645be added c |
|
326 | public |
|
327 | |
|
328 | diff -r 5f6d8a4bf34a -r 155349b645be c |
|
329 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
330 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
331 | @@ -0,0 +1,1 @@ |
|
332 | +c |
|
333 | |
|
334 | * 4:e568fd1029bb added c e |
|
335 |/ draft content-divergent |
|
336 | |
|
337 | diff -r 5f6d8a4bf34a -r e568fd1029bb c |
|
338 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
339 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
340 | @@ -0,0 +1,1 @@ |
|
341 | +cfoo |
|
342 | diff -r 5f6d8a4bf34a -r e568fd1029bb e |
|
343 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
344 | +++ b/e Thu Jan 01 00:00:00 1970 +0000 |
|
345 | @@ -0,0 +1,1 @@ |
|
346 | +e |
|
347 | |
|
348 o 1:5f6d8a4bf34a added b |
|
349 | public |
|
350 | |
|
351 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b |
|
352 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
353 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 |
|
354 | @@ -0,0 +1,1 @@ |
|
355 | +b |
|
356 | |
|
357 o 0:9092f1db7931 added a |
|
358 public |
|
359 |
|
360 diff -r 000000000000 -r 9092f1db7931 a |
|
361 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
362 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
|
363 @@ -0,0 +1,1 @@ |
|
364 +a |
|
365 |
|
366 |
|
367 $ hg obslog --all --rev tip --patch |
|
368 @ 93cd84bbdaca (5) added d |
|
369 | |
|
370 | * e568fd1029bb (4) added c e |
|
371 |/ |
|
372 x 9150fe93bec6 (3) added d |
|
373 rewritten(content) as 93cd84bbdaca using prune by test (Thu Jan 01 00:00:00 1970 +0000) |
|
374 diff -r 9150fe93bec6 -r 93cd84bbdaca d |
|
375 --- a/d Thu Jan 01 00:00:00 1970 +0000 |
|
376 +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
377 @@ -1,1 +1,1 @@ |
|
378 -d |
|
379 +dd |
|
380 |
|
381 rewritten(description, parent, content) as e568fd1029bb using prune by test (Thu Jan 01 00:00:00 1970 +0000) |
|
382 (No patch available, changesets rebased) |
|
383 |
|
384 |
|
385 $ hg evolve --content-divergent --any --update |
|
386 merge:[5] added d |
|
387 with: [4] added c e |
|
388 base: [3] added d |
|
389 rebasing "other" content-divergent changeset e568fd1029bb on 155349b645be |
|
390 merging c |
|
391 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') |
|
392 fix conflicts and see `hg help evolve.interrupted` |
|
393 [1] |
|
394 |
|
395 $ hg diff |
|
396 diff -r 155349b645be c |
|
397 --- a/c Thu Jan 01 00:00:00 1970 +0000 |
|
398 +++ b/c Thu Jan 01 00:00:00 1970 +0000 |
|
399 @@ -1,1 +1,5 @@ |
|
400 +<<<<<<< destination: 155349b645be - test: added c |
|
401 c |
|
402 +======= |
|
403 +cfoo |
|
404 +>>>>>>> evolving: e568fd1029bb - test: added c e |
|
405 diff -r 155349b645be e |
|
406 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
407 +++ b/e Thu Jan 01 00:00:00 1970 +0000 |
|
408 @@ -0,0 +1,1 @@ |
|
409 +e |
|
410 |
|
411 $ echo c > c |
|
412 $ hg res -m |
|
413 (no more unresolved files) |
|
414 continue: hg evolve --continue |
|
415 |
|
416 $ hg evolve --continue |
|
417 evolving 4:e568fd1029bb "added c e" |
|
418 file 'd' was deleted in other but was modified in local. |
|
419 What do you want to do? |
|
420 use (c)hanged version, (d)elete, or leave (u)nresolved? u |
|
421 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
422 fix conflicts and see `hg help evolve.interrupted` |
|
423 [1] |
|
424 |
|
425 $ hg sum |
|
426 parent: 5:93cd84bbdaca |
|
427 added d |
|
428 parent: 6:2af3359250d3 tip (content-divergent) |
|
429 added c e |
|
430 branch: default |
|
431 commit: 1 modified, 1 unknown, 1 unresolved (merge) |
|
432 update: (current) |
|
433 phases: 1 draft |
|
434 content-divergent: 1 changesets |
|
435 evolve: (evolve --continue) |
|
436 |
|
437 $ echo resolved > d |
|
438 $ hg resolve -m d |
|
439 (no more unresolved files) |
|
440 continue: hg evolve --continue |
|
441 |
|
442 $ hg evolve --continue |
|
443 committed as bc1f4610744c |
|
444 working directory is now at bc1f4610744c |
|
445 |
|
446 $ hg export |
|
447 # HG changeset patch |
|
448 # User test |
|
449 # Date 0 0 |
|
450 # Thu Jan 01 00:00:00 1970 +0000 |
|
451 # Node ID bc1f4610744c6aa0e851d3876a61bfff6243b31c |
|
452 # Parent 93cd84bbdacaeb8f881c29a609dbdd30c38cbc57 |
|
453 phase-divergent update to 93cd84bbdaca: |
|
454 |
|
455 added c e |
|
456 |
|
457 diff -r 93cd84bbdaca -r bc1f4610744c d |
|
458 --- a/d Thu Jan 01 00:00:00 1970 +0000 |
|
459 +++ b/d Thu Jan 01 00:00:00 1970 +0000 |
|
460 @@ -1,1 +1,1 @@ |
|
461 -dd |
|
462 +resolved |
|
463 diff -r 93cd84bbdaca -r bc1f4610744c e |
|
464 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
465 +++ b/e Thu Jan 01 00:00:00 1970 +0000 |
|
466 @@ -0,0 +1,1 @@ |
|
467 +e |
|
468 |
|
469 $ hg evolve -l |
|
470 $ cd .. |
|
471 |
|
472 Test a pratical "rebase" case |
|
473 ============================= |
|
474 |
|
475 Initial setup |
|
476 |
|
477 $ hg init rebase-divergence |
|
478 $ cd rebase-divergence |
|
479 $ echo root >> root |
|
480 $ hg add root |
|
481 $ hg commit -m root |
|
482 $ for x in c_A c_B c_C c_D; do |
|
483 > echo $x >> $x |
|
484 > hg add $x |
|
485 > hg commit -m $x |
|
486 > done |
|
487 |
|
488 $ hg up 'desc("c_A")' |
|
489 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
|
490 |
|
491 $ for x in c_E c_F; do |
|
492 > echo $x >> $x |
|
493 > hg add $x |
|
494 > hg commit -m $x |
|
495 > done |
|
496 created new head |
|
497 |
|
498 (creating divergence locally for simplicity) |
|
499 |
|
500 $ node=`hg log --rev 'desc("c_E")' -T '{node}'` |
|
501 $ hg rebase -s $node -d 'desc("c_B")' |
|
502 rebasing 5:4ab2719bbab9 "c_E" |
|
503 rebasing 6:77ccbf8d837e "c_F" (tip) |
|
504 $ hg phase --public tip |
|
505 $ hg rebase --hidden -s $node -d 'desc("c_C")' --config experimental.evolution.allowdivergence=yes |
|
506 rebasing 5:4ab2719bbab9 "c_E" |
|
507 rebasing 6:77ccbf8d837e "c_F" |
|
508 2 new content-divergent changesets |
|
509 |
|
510 $ hg sum |
|
511 parent: 8:a52ac76b45f5 |
|
512 c_F |
|
513 branch: default |
|
514 commit: (clean) |
|
515 update: 4 new changesets, 3 branch heads (merge) |
|
516 phases: 4 draft |
|
517 content-divergent: 2 changesets |
|
518 $ hg evolve --list |
|
519 b4a584aea4bd: c_E |
|
520 content-divergent: c7d2d47c7240 (public) (precursor 4ab2719bbab9) |
|
521 |
|
522 8ae8db670b4a: c_F |
|
523 content-divergent: a52ac76b45f5 (public) (precursor 77ccbf8d837e) |
|
524 |
|
525 $ hg log -G --patch |
|
526 * changeset: 10:8ae8db670b4a |
|
527 | tag: tip |
|
528 | user: test |
|
529 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
530 | instability: content-divergent |
|
531 | summary: c_F |
|
532 | |
|
533 | diff -r b4a584aea4bd -r 8ae8db670b4a c_F |
|
534 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
535 | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 |
|
536 | @@ -0,0 +1,1 @@ |
|
537 | +c_F |
|
538 | |
|
539 * changeset: 9:b4a584aea4bd |
|
540 | parent: 3:abb77b893f28 |
|
541 | user: test |
|
542 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
543 | instability: content-divergent |
|
544 | summary: c_E |
|
545 | |
|
546 | diff -r abb77b893f28 -r b4a584aea4bd c_E |
|
547 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
548 | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 |
|
549 | @@ -0,0 +1,1 @@ |
|
550 | +c_E |
|
551 | |
|
552 | @ changeset: 8:a52ac76b45f5 |
|
553 | | user: test |
|
554 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
555 | | summary: c_F |
|
556 | | |
|
557 | | diff -r c7d2d47c7240 -r a52ac76b45f5 c_F |
|
558 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
559 | | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 |
|
560 | | @@ -0,0 +1,1 @@ |
|
561 | | +c_F |
|
562 | | |
|
563 | o changeset: 7:c7d2d47c7240 |
|
564 | | parent: 2:eb1b4e1205b8 |
|
565 | | user: test |
|
566 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
567 | | summary: c_E |
|
568 | | |
|
569 | | diff -r eb1b4e1205b8 -r c7d2d47c7240 c_E |
|
570 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
571 | | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 |
|
572 | | @@ -0,0 +1,1 @@ |
|
573 | | +c_E |
|
574 | | |
|
575 +---o changeset: 4:dbb960d6c97c |
|
576 | | user: test |
|
577 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
578 | | summary: c_D |
|
579 | | |
|
580 | | diff -r abb77b893f28 -r dbb960d6c97c c_D |
|
581 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
582 | | +++ b/c_D Thu Jan 01 00:00:00 1970 +0000 |
|
583 | | @@ -0,0 +1,1 @@ |
|
584 | | +c_D |
|
585 | | |
|
586 o | changeset: 3:abb77b893f28 |
|
587 |/ user: test |
|
588 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
589 | summary: c_C |
|
590 | |
|
591 | diff -r eb1b4e1205b8 -r abb77b893f28 c_C |
|
592 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
593 | +++ b/c_C Thu Jan 01 00:00:00 1970 +0000 |
|
594 | @@ -0,0 +1,1 @@ |
|
595 | +c_C |
|
596 | |
|
597 o changeset: 2:eb1b4e1205b8 |
|
598 | user: test |
|
599 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
600 | summary: c_B |
|
601 | |
|
602 | diff -r e31751786014 -r eb1b4e1205b8 c_B |
|
603 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
604 | +++ b/c_B Thu Jan 01 00:00:00 1970 +0000 |
|
605 | @@ -0,0 +1,1 @@ |
|
606 | +c_B |
|
607 | |
|
608 o changeset: 1:e31751786014 |
|
609 | user: test |
|
610 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
611 | summary: c_A |
|
612 | |
|
613 | diff -r 1e4be0697311 -r e31751786014 c_A |
|
614 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
615 | +++ b/c_A Thu Jan 01 00:00:00 1970 +0000 |
|
616 | @@ -0,0 +1,1 @@ |
|
617 | +c_A |
|
618 | |
|
619 o changeset: 0:1e4be0697311 |
|
620 user: test |
|
621 date: Thu Jan 01 00:00:00 1970 +0000 |
|
622 summary: root |
|
623 |
|
624 diff -r 000000000000 -r 1e4be0697311 root |
|
625 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
626 +++ b/root Thu Jan 01 00:00:00 1970 +0000 |
|
627 @@ -0,0 +1,1 @@ |
|
628 +root |
|
629 |
|
630 |
|
631 Run automatic evolution |
|
632 |
|
633 $ hg evolve --content-divergent --rev 'not public() and desc("c_E")::' |
|
634 merge:[7] c_E |
|
635 with: [9] c_E |
|
636 base: [5] c_E |
|
637 rebasing "other" content-divergent changeset b4a584aea4bd on eb1b4e1205b8 |
|
638 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
639 content divergence resolution between c7d2d47c7240 (public) and 0773642cfa95 has same content as c7d2d47c7240, discarding 0773642cfa95 |
|
640 merge:[8] c_F |
|
641 with: [10] c_F |
|
642 base: [6] c_F |
|
643 rebasing "other" content-divergent changeset 8ae8db670b4a on c7d2d47c7240 |
|
644 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
645 content divergence resolution between a52ac76b45f5 (public) and 6a87ed4aa317 has same content as a52ac76b45f5, discarding 6a87ed4aa317 |
|
646 $ hg sum |
|
647 parent: 8:a52ac76b45f5 tip |
|
648 c_F |
|
649 branch: default |
|
650 commit: (clean) |
|
651 update: 2 new changesets, 2 branch heads (merge) |
|
652 phases: 2 draft |
|
653 |
|
654 $ hg evolve --list |
|
655 |
|
656 $ hg log -G --patch |
|
657 @ changeset: 8:a52ac76b45f5 |
|
658 | tag: tip |
|
659 | user: test |
|
660 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
661 | summary: c_F |
|
662 | |
|
663 | diff -r c7d2d47c7240 -r a52ac76b45f5 c_F |
|
664 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
665 | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 |
|
666 | @@ -0,0 +1,1 @@ |
|
667 | +c_F |
|
668 | |
|
669 o changeset: 7:c7d2d47c7240 |
|
670 | parent: 2:eb1b4e1205b8 |
|
671 | user: test |
|
672 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
673 | summary: c_E |
|
674 | |
|
675 | diff -r eb1b4e1205b8 -r c7d2d47c7240 c_E |
|
676 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
677 | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 |
|
678 | @@ -0,0 +1,1 @@ |
|
679 | +c_E |
|
680 | |
|
681 | o changeset: 4:dbb960d6c97c |
|
682 | | user: test |
|
683 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
684 | | summary: c_D |
|
685 | | |
|
686 | | diff -r abb77b893f28 -r dbb960d6c97c c_D |
|
687 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
688 | | +++ b/c_D Thu Jan 01 00:00:00 1970 +0000 |
|
689 | | @@ -0,0 +1,1 @@ |
|
690 | | +c_D |
|
691 | | |
|
692 | o changeset: 3:abb77b893f28 |
|
693 |/ user: test |
|
694 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
695 | summary: c_C |
|
696 | |
|
697 | diff -r eb1b4e1205b8 -r abb77b893f28 c_C |
|
698 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
699 | +++ b/c_C Thu Jan 01 00:00:00 1970 +0000 |
|
700 | @@ -0,0 +1,1 @@ |
|
701 | +c_C |
|
702 | |
|
703 o changeset: 2:eb1b4e1205b8 |
|
704 | user: test |
|
705 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
706 | summary: c_B |
|
707 | |
|
708 | diff -r e31751786014 -r eb1b4e1205b8 c_B |
|
709 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
710 | +++ b/c_B Thu Jan 01 00:00:00 1970 +0000 |
|
711 | @@ -0,0 +1,1 @@ |
|
712 | +c_B |
|
713 | |
|
714 o changeset: 1:e31751786014 |
|
715 | user: test |
|
716 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
717 | summary: c_A |
|
718 | |
|
719 | diff -r 1e4be0697311 -r e31751786014 c_A |
|
720 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
721 | +++ b/c_A Thu Jan 01 00:00:00 1970 +0000 |
|
722 | @@ -0,0 +1,1 @@ |
|
723 | +c_A |
|
724 | |
|
725 o changeset: 0:1e4be0697311 |
|
726 user: test |
|
727 date: Thu Jan 01 00:00:00 1970 +0000 |
|
728 summary: root |
|
729 |
|
730 diff -r 000000000000 -r 1e4be0697311 root |
|
731 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
732 +++ b/root Thu Jan 01 00:00:00 1970 +0000 |
|
733 @@ -0,0 +1,1 @@ |
|
734 +root |
|
735 |
|
736 $ hg export tip |
|
737 # HG changeset patch |
|
738 # User test |
|
739 # Date 0 0 |
|
740 # Thu Jan 01 00:00:00 1970 +0000 |
|
741 # Node ID a52ac76b45f523a039fc4a938d79874f4bdb1a85 |
|
742 # Parent c7d2d47c7240562be5cbd1a24080dd0396178709 |
|
743 c_F |
|
744 |
|
745 diff -r c7d2d47c7240 -r a52ac76b45f5 c_F |
|
746 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
747 +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 |
|
748 @@ -0,0 +1,1 @@ |
|
749 +c_F |
|
750 |
|
751 $ hg obslog --rev a52ac76b45f5 |
|
752 @ a52ac76b45f5 (8) c_F |
|
753 |\ |
|
754 x | 6a87ed4aa317 (12) c_F |
|
755 | | rewritten as a52ac76b45f5 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) |
|
756 | | |
|
757 x | 8ae8db670b4a (10) c_F |
|
758 |/ rewritten(parent) as 6a87ed4aa317 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) |
|
759 | |
|
760 x 77ccbf8d837e (6) c_F |
|
761 rewritten(parent) as 8ae8db670b4a using rebase by test (Thu Jan 01 00:00:00 1970 +0000) |
|
762 rewritten(parent) as a52ac76b45f5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) |
|
763 |