--- a/tests/test-sharing.t Fri Aug 03 00:19:47 2018 +0200
+++ b/tests/test-sharing.t Fri Aug 03 00:22:50 2018 +0200
@@ -46,7 +46,6 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
- new changesets 0dc9c9f6ab91
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Let's commit a preliminary change and push it to ``test-repo`` for
@@ -70,8 +69,10 @@
Figure SG02
$ hg shortlog --hidden -G
- @ 2:60ffde5765c5 draft fix bug 37
+ @ 3:60ffde5765c5 draft fix bug 37
|
+ | x 2:2a039763c0f4 draft temporary amend commit for f6490818a721
+ | |
| x 1:f6490818a721 draft prelim change
|/
o 0:0dc9c9f6ab91 public create new project
@@ -86,9 +87,8 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 1 new obsolescence markers
+ 2 new obsolescence markers
obsoleted 1 changesets
- new changesets 60ffde5765c5
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
updated to "60ffde5765c5: fix bug 37"
1 other heads for branch "default"
@@ -108,8 +108,10 @@
Figure SG04 (dev-repo)
$ hg shortlog --hidden -G
- @ 3:de6151c48e1c draft fix bug 37
+ @ 4:de6151c48e1c draft fix bug 37
|
+ | x 3:ad19d3570adb draft temporary amend commit for 60ffde5765c5
+ | |
| x 2:60ffde5765c5 draft fix bug 37
|/
| x 1:f6490818a721 draft prelim change
@@ -123,10 +125,12 @@
updated to "de6151c48e1c: fix bug 37"
1 other heads for branch "default"
$ hg shortlog --hidden -G
- @ 3:de6151c48e1c draft fix bug 37
+ @ 4:de6151c48e1c draft fix bug 37
|
- | x 2:60ffde5765c5 draft fix bug 37
+ | x 3:60ffde5765c5 draft fix bug 37
|/
+ | x 2:2a039763c0f4 draft temporary amend commit for f6490818a721
+ | |
| x 1:f6490818a721 draft prelim change
|/
o 0:0dc9c9f6ab91 public create new project
@@ -139,7 +143,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
- 2 new obsolescence markers
+ 4 new obsolescence markers
Now that the fix is public, we cannot amend it any more.
$ hg amend -m 'fix bug 37'
@@ -155,7 +159,7 @@
Oops, still have draft changesets in dev-repo: push the phase change there.
$ hg -R ../dev-repo shortlog -r 'draft()'
- 3:de6151c48e1c draft fix bug 37
+ 4:de6151c48e1c draft fix bug 37
$ hg push ../dev-repo
pushing to ../dev-repo
searching for changes
@@ -208,7 +212,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 1 new obsolescence markers
+ 2 new obsolescence markers
obsoleted 1 changesets
updating bookmark bug15
$ hg -R ../review bookmarks
@@ -253,7 +257,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 1 new obsolescence markers
+ 2 new obsolescence markers
obsoleted 1 changesets
updating bookmark featureX
@@ -268,7 +272,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
- 2 new obsolescence markers
+ 4 new obsolescence markers
$ hg -R ../public bookmarks
no bookmarks set
$ hg push ../review
@@ -279,7 +283,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 1 new obsolescence markers
+ 2 new obsolescence markers
obsoleted 1 changesets
updating bookmark featureX
$ hg -R ../review bookmarks
@@ -329,15 +333,17 @@
her change, so now she can publish it.
$ cd ../alice
$ hg --hidden shortlog -G -r 1::
- @ 3:cbdfbd5a5db2 draft fix bug 15 (v2)
+ @ 4:cbdfbd5a5db2 draft fix bug 15 (v2)
|
+ | x 3:55dd95168a35 draft temporary amend commit for f91e97234c2b
+ | |
| x 2:f91e97234c2b draft fix bug 15 (v1)
|/
o 1:de6151c48e1c public fix bug 37
|
~
$ hg outgoing -q ../public
- 3:cbdfbd5a5db2
+ 4:cbdfbd5a5db2
$ hg push ../public
pushing to ../public
searching for changes
@@ -352,21 +358,22 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 2 new obsolescence markers
- new changesets 540ba8f317e6
+ 4 new obsolescence markers
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg log -G -q -r 'head()'
- o 4:540ba8f317e6
+ o 5:540ba8f317e6
|
~
- @ 3:cbdfbd5a5db2
+ @ 4:cbdfbd5a5db2
|
~
$ hg --hidden shortlog -G -r 1::
- o 4:540ba8f317e6 public implement feature X (v3)
+ o 5:540ba8f317e6 public implement feature X (v3)
|
- | @ 3:cbdfbd5a5db2 draft fix bug 15 (v2)
+ | @ 4:cbdfbd5a5db2 draft fix bug 15 (v2)
|/
+ | x 3:55dd95168a35 draft temporary amend commit for f91e97234c2b
+ | |
| x 2:f91e97234c2b draft fix bug 15 (v1)
|/
o 1:de6151c48e1c public fix bug 37
@@ -376,7 +383,7 @@
Alice rebases her draft changeset on top of Bob's public changeset and
publishes the result.
$ hg rebase -d 5
- rebasing 3:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15)
+ rebasing 4:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15)
$ hg push ../public
pushing to ../public
searching for changes
@@ -384,7 +391,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
- 2 new obsolescence markers
+ 3 new obsolescence markers
$ hg push ../review
pushing to ../review
searching for changes
@@ -457,7 +464,6 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
- new changesets 2fe6c4bd32d0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo 'better fix (alice)' >> file1
$ hg amend -u alice -m 'fix bug 24 (v2 by alice)'
@@ -468,8 +474,10 @@
$ echo 'better fix (bob)' >> file1
$ hg amend -u bob -m 'fix bug 24 (v2 by bob)'
$ hg --hidden shortlog -G -r 3::
- @ 5:a360947f6faf draft fix bug 24 (v2 by bob)
+ @ 6:a360947f6faf draft fix bug 24 (v2 by bob)
|
+ | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
+ | |
| x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
|/
o 3:a06ec1bf97bd public fix bug 15 (v2)
@@ -484,25 +492,26 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 1 new obsolescence markers
- new changesets e3f99ce9d9cd
+ 2 new obsolescence markers
(run 'hg heads' to see heads, 'hg merge' to merge)
- 2 new content-divergent changesets
+ 2 new divergent changesets
Figure SG09: multiple heads! divergence! oh my!
$ hg --hidden shortlog -G -r 3::
- o 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
+ o 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
|
- | @ 5:a360947f6faf draft fix bug 24 (v2 by bob)
+ | @ 6:a360947f6faf draft fix bug 24 (v2 by bob)
|/
+ | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
+ | |
| x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
|/
o 3:a06ec1bf97bd public fix bug 15 (v2)
|
~
$ hg --hidden shortlog -r 'successors(2fe6)'
- 5:a360947f6faf draft fix bug 24 (v2 by bob)
- 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
+ 6:a360947f6faf draft fix bug 24 (v2 by bob)
+ 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
Use evolve to fix the divergence.
$ cat > editor.sh <<EOF
@@ -513,30 +522,32 @@
> EOF
$ HGEDITOR='sh ./editor.sh' HGMERGE=internal:other hg evolve --content-divergent
- merge:[5] fix bug 24 (v2 by bob)
- with: [6] fix bug 24 (v2 by alice)
+ merge:[6] fix bug 24 (v2 by bob)
+ with: [7] fix bug 24 (v2 by alice)
base: [4] fix bug 24 (v1)
- merging "other" content-divergent changeset 'e3f99ce9d9cd'
+ merging "other" divergent changeset 'e3f99ce9d9cd'
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
working directory is now at 711ede2d7a26
$ hg log -q -r 'contentdivergent()'
Figure SG10: Bob's repository after fixing divergence.
$ hg --hidden shortlog -G -r 3::
- @ 7:711ede2d7a26 draft fix bug 24 (v2 by bob)
+ @ 8:711ede2d7a26 draft fix bug 24 (v2 by bob)
|
- | x 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
+ | x 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
|/
- | x 5:a360947f6faf draft fix bug 24 (v2 by bob)
+ | x 6:a360947f6faf draft fix bug 24 (v2 by bob)
|/
+ | x 5:3466c7f5a149 draft temporary amend commit for 2fe6c4bd32d0
+ | |
| x 4:2fe6c4bd32d0 draft fix bug 24 (v1)
|/
o 3:a06ec1bf97bd public fix bug 15 (v2)
|
~
$ hg --hidden shortlog -r 'precursors(711ede2d7a26)'
- 5:a360947f6faf draft fix bug 24 (v2 by bob)
- 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
+ 6:a360947f6faf draft fix bug 24 (v2 by bob)
+ 7:e3f99ce9d9cd draft fix bug 24 (v2 by alice)
$ cat file1
Do stuff.
pretty good fix