comparison tests/test-sharing.t @ 3936:537fd9a86c06 mercurial-4.3

test-compat: merge mercurial-4.4 into mercurial-4.3
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 03 Aug 2018 00:22:50 +0200
parents d00f0c369bc7 98941c28f3e2
children e07e764c0f48
comparison
equal deleted inserted replaced
3935:9af0e2b0bdd7 3936:537fd9a86c06
44 requesting all changes 44 requesting all changes
45 adding changesets 45 adding changesets
46 adding manifests 46 adding manifests
47 adding file changes 47 adding file changes
48 added 1 changesets with 1 changes to 1 files 48 added 1 changesets with 1 changes to 1 files
49 new changesets 0dc9c9f6ab91
50 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 49 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
51 50
52 Let's commit a preliminary change and push it to ``test-repo`` for 51 Let's commit a preliminary change and push it to ``test-repo`` for
53 testing. :: 52 testing. ::
54 53
68 $ echo 'Fix fix fix.' > file1 67 $ echo 'Fix fix fix.' > file1
69 $ hg amend -m'fix bug 37' 68 $ hg amend -m'fix bug 37'
70 69
71 Figure SG02 70 Figure SG02
72 $ hg shortlog --hidden -G 71 $ hg shortlog --hidden -G
73 @ 2:60ffde5765c5 draft fix bug 37 72 @ 3:60ffde5765c5 draft fix bug 37
74 | 73 |
74 | x 2:2a039763c0f4 draft temporary amend commit for f6490818a721
75 | |
75 | x 1:f6490818a721 draft prelim change 76 | x 1:f6490818a721 draft prelim change
76 |/ 77 |/
77 o 0:0dc9c9f6ab91 public create new project 78 o 0:0dc9c9f6ab91 public create new project
78 79
79 Pull into dev-repo: obsolescence markers are transferred, but not 80 Pull into dev-repo: obsolescence markers are transferred, but not
84 searching for changes 85 searching for changes
85 adding changesets 86 adding changesets
86 adding manifests 87 adding manifests
87 adding file changes 88 adding file changes
88 added 1 changesets with 1 changes to 1 files (+1 heads) 89 added 1 changesets with 1 changes to 1 files (+1 heads)
89 1 new obsolescence markers 90 2 new obsolescence markers
90 obsoleted 1 changesets 91 obsoleted 1 changesets
91 new changesets 60ffde5765c5
92 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 92 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
93 updated to "60ffde5765c5: fix bug 37" 93 updated to "60ffde5765c5: fix bug 37"
94 1 other heads for branch "default" 94 1 other heads for branch "default"
95 95
96 Figure SG03 96 Figure SG03
106 $ hg amend 106 $ hg amend
107 $ hg push -q 107 $ hg push -q
108 108
109 Figure SG04 (dev-repo) 109 Figure SG04 (dev-repo)
110 $ hg shortlog --hidden -G 110 $ hg shortlog --hidden -G
111 @ 3:de6151c48e1c draft fix bug 37 111 @ 4:de6151c48e1c draft fix bug 37
112 | 112 |
113 | x 3:ad19d3570adb draft temporary amend commit for 60ffde5765c5
114 | |
113 | x 2:60ffde5765c5 draft fix bug 37 115 | x 2:60ffde5765c5 draft fix bug 37
114 |/ 116 |/
115 | x 1:f6490818a721 draft prelim change 117 | x 1:f6490818a721 draft prelim change
116 |/ 118 |/
117 o 0:0dc9c9f6ab91 public create new project 119 o 0:0dc9c9f6ab91 public create new project
121 $ hg update 123 $ hg update
122 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 124 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
123 updated to "de6151c48e1c: fix bug 37" 125 updated to "de6151c48e1c: fix bug 37"
124 1 other heads for branch "default" 126 1 other heads for branch "default"
125 $ hg shortlog --hidden -G 127 $ hg shortlog --hidden -G
126 @ 3:de6151c48e1c draft fix bug 37 128 @ 4:de6151c48e1c draft fix bug 37
127 | 129 |
128 | x 2:60ffde5765c5 draft fix bug 37 130 | x 3:60ffde5765c5 draft fix bug 37
129 |/ 131 |/
132 | x 2:2a039763c0f4 draft temporary amend commit for f6490818a721
133 | |
130 | x 1:f6490818a721 draft prelim change 134 | x 1:f6490818a721 draft prelim change
131 |/ 135 |/
132 o 0:0dc9c9f6ab91 public create new project 136 o 0:0dc9c9f6ab91 public create new project
133 137
134 This bug fix is finished. We can push it to the public repository. 138 This bug fix is finished. We can push it to the public repository.
137 searching for changes 141 searching for changes
138 adding changesets 142 adding changesets
139 adding manifests 143 adding manifests
140 adding file changes 144 adding file changes
141 added 1 changesets with 1 changes to 1 files 145 added 1 changesets with 1 changes to 1 files
142 2 new obsolescence markers 146 4 new obsolescence markers
143 147
144 Now that the fix is public, we cannot amend it any more. 148 Now that the fix is public, we cannot amend it any more.
145 $ hg amend -m 'fix bug 37' 149 $ hg amend -m 'fix bug 37'
146 abort: cannot amend public changesets: de6151c48e1c 150 abort: cannot amend public changesets: de6151c48e1c
147 (see 'hg help phases' for details) 151 (see 'hg help phases' for details)
153 | 157 |
154 o 0:0dc9c9f6ab91 public create new project 158 o 0:0dc9c9f6ab91 public create new project
155 159
156 Oops, still have draft changesets in dev-repo: push the phase change there. 160 Oops, still have draft changesets in dev-repo: push the phase change there.
157 $ hg -R ../dev-repo shortlog -r 'draft()' 161 $ hg -R ../dev-repo shortlog -r 'draft()'
158 3:de6151c48e1c draft fix bug 37 162 4:de6151c48e1c draft fix bug 37
159 $ hg push ../dev-repo 163 $ hg push ../dev-repo
160 pushing to ../dev-repo 164 pushing to ../dev-repo
161 searching for changes 165 searching for changes
162 no changes found 166 no changes found
163 [1] 167 [1]
206 searching for changes 210 searching for changes
207 adding changesets 211 adding changesets
208 adding manifests 212 adding manifests
209 adding file changes 213 adding file changes
210 added 1 changesets with 1 changes to 1 files (+1 heads) 214 added 1 changesets with 1 changes to 1 files (+1 heads)
211 1 new obsolescence markers 215 2 new obsolescence markers
212 obsoleted 1 changesets 216 obsoleted 1 changesets
213 updating bookmark bug15 217 updating bookmark bug15
214 $ hg -R ../review bookmarks 218 $ hg -R ../review bookmarks
215 bug15 3:cbdfbd5a5db2 219 bug15 3:cbdfbd5a5db2
216 220
251 remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2 255 remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2
252 adding changesets 256 adding changesets
253 adding manifests 257 adding manifests
254 adding file changes 258 adding file changes
255 added 1 changesets with 1 changes to 1 files (+1 heads) 259 added 1 changesets with 1 changes to 1 files (+1 heads)
256 1 new obsolescence markers 260 2 new obsolescence markers
257 obsoleted 1 changesets 261 obsoleted 1 changesets
258 updating bookmark featureX 262 updating bookmark featureX
259 263
260 Bob receives second review, amends, and pushes to public: 264 Bob receives second review, amends, and pushes to public:
261 this time, he's sure he got it right! 265 this time, he's sure he got it right!
266 searching for changes 270 searching for changes
267 adding changesets 271 adding changesets
268 adding manifests 272 adding manifests
269 adding file changes 273 adding file changes
270 added 1 changesets with 1 changes to 1 files 274 added 1 changesets with 1 changes to 1 files
271 2 new obsolescence markers 275 4 new obsolescence markers
272 $ hg -R ../public bookmarks 276 $ hg -R ../public bookmarks
273 no bookmarks set 277 no bookmarks set
274 $ hg push ../review 278 $ hg push ../review
275 pushing to ../review 279 pushing to ../review
276 searching for changes 280 searching for changes
277 remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2 281 remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2
278 adding changesets 282 adding changesets
279 adding manifests 283 adding manifests
280 adding file changes 284 adding file changes
281 added 1 changesets with 1 changes to 1 files (+1 heads) 285 added 1 changesets with 1 changes to 1 files (+1 heads)
282 1 new obsolescence markers 286 2 new obsolescence markers
283 obsoleted 1 changesets 287 obsoleted 1 changesets
284 updating bookmark featureX 288 updating bookmark featureX
285 $ hg -R ../review bookmarks 289 $ hg -R ../review bookmarks
286 bug15 3:cbdfbd5a5db2 290 bug15 3:cbdfbd5a5db2
287 featureX 6:540ba8f317e6 291 featureX 6:540ba8f317e6
327 331
328 Meantime, Alice is back from lunch. While she was away, Bob approved 332 Meantime, Alice is back from lunch. While she was away, Bob approved
329 her change, so now she can publish it. 333 her change, so now she can publish it.
330 $ cd ../alice 334 $ cd ../alice
331 $ hg --hidden shortlog -G -r 1:: 335 $ hg --hidden shortlog -G -r 1::
332 @ 3:cbdfbd5a5db2 draft fix bug 15 (v2) 336 @ 4:cbdfbd5a5db2 draft fix bug 15 (v2)
333 | 337 |
338 | x 3:55dd95168a35 draft temporary amend commit for f91e97234c2b
339 | |
334 | x 2:f91e97234c2b draft fix bug 15 (v1) 340 | x 2:f91e97234c2b draft fix bug 15 (v1)
335 |/ 341 |/
336 o 1:de6151c48e1c public fix bug 37 342 o 1:de6151c48e1c public fix bug 37
337 | 343 |
338 ~ 344 ~
339 $ hg outgoing -q ../public 345 $ hg outgoing -q ../public
340 3:cbdfbd5a5db2 346 4:cbdfbd5a5db2
341 $ hg push ../public 347 $ hg push ../public
342 pushing to ../public 348 pushing to ../public
343 searching for changes 349 searching for changes
344 remote has heads on branch 'default' that are not known locally: 540ba8f317e6 350 remote has heads on branch 'default' that are not known locally: 540ba8f317e6
345 abort: push creates new remote head cbdfbd5a5db2 with bookmark 'bug15'! 351 abort: push creates new remote head cbdfbd5a5db2 with bookmark 'bug15'!
350 searching for changes 356 searching for changes
351 adding changesets 357 adding changesets
352 adding manifests 358 adding manifests
353 adding file changes 359 adding file changes
354 added 1 changesets with 1 changes to 1 files (+1 heads) 360 added 1 changesets with 1 changes to 1 files (+1 heads)
355 2 new obsolescence markers 361 4 new obsolescence markers
356 new changesets 540ba8f317e6
357 (run 'hg heads' to see heads, 'hg merge' to merge) 362 (run 'hg heads' to see heads, 'hg merge' to merge)
358 $ hg log -G -q -r 'head()' 363 $ hg log -G -q -r 'head()'
359 o 4:540ba8f317e6 364 o 5:540ba8f317e6
360 | 365 |
361 ~ 366 ~
362 @ 3:cbdfbd5a5db2 367 @ 4:cbdfbd5a5db2
363 | 368 |
364 ~ 369 ~
365 $ hg --hidden shortlog -G -r 1:: 370 $ hg --hidden shortlog -G -r 1::
366 o 4:540ba8f317e6 public implement feature X (v3) 371 o 5:540ba8f317e6 public implement feature X (v3)
367 | 372 |
368 | @ 3:cbdfbd5a5db2 draft fix bug 15 (v2) 373 | @ 4:cbdfbd5a5db2 draft fix bug 15 (v2)
369 |/ 374 |/
375 | x 3:55dd95168a35 draft temporary amend commit for f91e97234c2b
376 | |
370 | x 2:f91e97234c2b draft fix bug 15 (v1) 377 | x 2:f91e97234c2b draft fix bug 15 (v1)
371 |/ 378 |/
372 o 1:de6151c48e1c public fix bug 37 379 o 1:de6151c48e1c public fix bug 37
373 | 380 |
374 ~ 381 ~
375 382
376 Alice rebases her draft changeset on top of Bob's public changeset and 383 Alice rebases her draft changeset on top of Bob's public changeset and
377 publishes the result. 384 publishes the result.
378 $ hg rebase -d 5 385 $ hg rebase -d 5
379 rebasing 3:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15) 386 rebasing 4:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15)
380 $ hg push ../public 387 $ hg push ../public
381 pushing to ../public 388 pushing to ../public
382 searching for changes 389 searching for changes
383 adding changesets 390 adding changesets
384 adding manifests 391 adding manifests
385 adding file changes 392 adding file changes
386 added 1 changesets with 1 changes to 1 files 393 added 1 changesets with 1 changes to 1 files
387 2 new obsolescence markers 394 3 new obsolescence markers
388 $ hg push ../review 395 $ hg push ../review
389 pushing to ../review 396 pushing to ../review
390 searching for changes 397 searching for changes
391 adding changesets 398 adding changesets
392 adding manifests 399 adding manifests
455 searching for changes 462 searching for changes
456 adding changesets 463 adding changesets
457 adding manifests 464 adding manifests
458 adding file changes 465 adding file changes
459 added 1 changesets with 1 changes to 1 files 466 added 1 changesets with 1 changes to 1 files
460 new changesets 2fe6c4bd32d0
461 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 467 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
462 $ echo 'better fix (alice)' >> file1 468 $ echo 'better fix (alice)' >> file1
463 $ hg amend -u alice -m 'fix bug 24 (v2 by alice)' 469 $ hg amend -u alice -m 'fix bug 24 (v2 by alice)'
464 470
465 Bob implements a better fix of his own:: 471 Bob implements a better fix of his own::
466 472
467 $ cd ../bob 473 $ cd ../bob
468 $ echo 'better fix (bob)' >> file1 474 $ echo 'better fix (bob)' >> file1
469 $ hg amend -u bob -m 'fix bug 24 (v2 by bob)' 475 $ hg amend -u bob -m 'fix bug 24 (v2 by bob)'
470 $ hg --hidden shortlog -G -r 3:: 476 $ hg --hidden shortlog -G -r 3::
471 @ 5:a360947f6faf draft fix bug 24 (v2 by bob) 477 @ 6:a360947f6faf draft fix bug 24 (v2 by bob)
472 | 478 |
479 | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
480 | |
473 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1) 481 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
474 |/ 482 |/
475 o 3:a06ec1bf97bd public fix bug 15 (v2) 483 o 3:a06ec1bf97bd public fix bug 15 (v2)
476 | 484 |
477 ~ 485 ~
482 searching for changes 490 searching for changes
483 adding changesets 491 adding changesets
484 adding manifests 492 adding manifests
485 adding file changes 493 adding file changes
486 added 1 changesets with 1 changes to 1 files (+1 heads) 494 added 1 changesets with 1 changes to 1 files (+1 heads)
487 1 new obsolescence markers 495 2 new obsolescence markers
488 new changesets e3f99ce9d9cd
489 (run 'hg heads' to see heads, 'hg merge' to merge) 496 (run 'hg heads' to see heads, 'hg merge' to merge)
490 2 new content-divergent changesets 497 2 new divergent changesets
491 498
492 Figure SG09: multiple heads! divergence! oh my! 499 Figure SG09: multiple heads! divergence! oh my!
493 $ hg --hidden shortlog -G -r 3:: 500 $ hg --hidden shortlog -G -r 3::
494 o 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) 501 o 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
495 | 502 |
496 | @ 5:a360947f6faf draft fix bug 24 (v2 by bob) 503 | @ 6:a360947f6faf draft fix bug 24 (v2 by bob)
497 |/ 504 |/
505 | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
506 | |
498 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1) 507 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
499 |/ 508 |/
500 o 3:a06ec1bf97bd public fix bug 15 (v2) 509 o 3:a06ec1bf97bd public fix bug 15 (v2)
501 | 510 |
502 ~ 511 ~
503 $ hg --hidden shortlog -r 'successors(2fe6)' 512 $ hg --hidden shortlog -r 'successors(2fe6)'
504 5:a360947f6faf draft fix bug 24 (v2 by bob) 513 6:a360947f6faf draft fix bug 24 (v2 by bob)
505 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) 514 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
506 515
507 Use evolve to fix the divergence. 516 Use evolve to fix the divergence.
508 $ cat > editor.sh <<EOF 517 $ cat > editor.sh <<EOF
509 > #!/bin/sh 518 > #!/bin/sh
510 > cat > \$1 <<ENDOF 519 > cat > \$1 <<ENDOF
511 > fix bug 24 (v2 by bob) 520 > fix bug 24 (v2 by bob)
512 > ENDOF 521 > ENDOF
513 > EOF 522 > EOF
514 523
515 $ HGEDITOR='sh ./editor.sh' HGMERGE=internal:other hg evolve --content-divergent 524 $ HGEDITOR='sh ./editor.sh' HGMERGE=internal:other hg evolve --content-divergent
516 merge:[5] fix bug 24 (v2 by bob) 525 merge:[6] fix bug 24 (v2 by bob)
517 with: [6] fix bug 24 (v2 by alice) 526 with: [7] fix bug 24 (v2 by alice)
518 base: [4] fix bug 24 (v1) 527 base: [4] fix bug 24 (v1)
519 merging "other" content-divergent changeset 'e3f99ce9d9cd' 528 merging "other" divergent changeset 'e3f99ce9d9cd'
520 0 files updated, 1 files merged, 0 files removed, 0 files unresolved 529 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
521 working directory is now at 711ede2d7a26 530 working directory is now at 711ede2d7a26
522 $ hg log -q -r 'contentdivergent()' 531 $ hg log -q -r 'contentdivergent()'
523 532
524 Figure SG10: Bob's repository after fixing divergence. 533 Figure SG10: Bob's repository after fixing divergence.
525 $ hg --hidden shortlog -G -r 3:: 534 $ hg --hidden shortlog -G -r 3::
526 @ 7:711ede2d7a26 draft fix bug 24 (v2 by bob) 535 @ 8:711ede2d7a26 draft fix bug 24 (v2 by bob)
527 | 536 |
528 | x 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) 537 | x 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
529 |/ 538 |/
530 | x 5:a360947f6faf draft fix bug 24 (v2 by bob) 539 | x 6:a360947f6faf draft fix bug 24 (v2 by bob)
531 |/ 540 |/
541 | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
542 | |
532 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1) 543 | x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
533 |/ 544 |/
534 o 3:a06ec1bf97bd public fix bug 15 (v2) 545 o 3:a06ec1bf97bd public fix bug 15 (v2)
535 | 546 |
536 ~ 547 ~
537 $ hg --hidden shortlog -r 'precursors(711ede2d7a26)' 548 $ hg --hidden shortlog -r 'precursors(711ede2d7a26)'
538 5:a360947f6faf draft fix bug 24 (v2 by bob) 549 6:a360947f6faf draft fix bug 24 (v2 by bob)
539 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) 550 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
540 $ cat file1 551 $ cat file1
541 Do stuff. 552 Do stuff.
542 pretty good fix 553 pretty good fix
543 better fix (alice) 554 better fix (alice)