tests/test-sharing.t
branchmercurial-4.7
changeset 4971 9f69164cdc16
parent 4672 653c42af172e
parent 4935 3874bc10d4a7
child 5367 cb5983c0287f
--- a/tests/test-sharing.t	Sat Oct 05 13:50:09 2019 -0400
+++ b/tests/test-sharing.t	Thu Nov 28 10:53:25 2019 +0100
@@ -5,7 +5,7 @@
 
   $ cat >> $HGRCPATH <<EOF
   > [alias]
-  > shortlog = log --template '{rev}:{node|short}  {phase}  {desc|firstline}\n'
+  > shortlog = log --template '{rev}:{node|shortest}  {phase}  {desc|firstline}\n'
   > [extensions]
   > rebase =
   > EOF
@@ -57,24 +57,38 @@
   $ hg push -q ../test-repo
 
 Figure SG01 (roughly)
-  $ hg shortlog -G
-  @  1:f6490818a721  draft  prelim change
+  $ hg -R ../dev-repo shortlog -G
+  @  1:f649  draft  prelim change
   |
-  o  0:0dc9c9f6ab91  public  create new project
+  o  0:0dc9  public  create new project
+  
+  $ hg -R ../test-repo shortlog -G
+  o  1:f649  draft  prelim change
+  |
+  @  0:0dc9  public  create new project
   
 Now let's switch to test-repo to test our change and amend::
   $ cd ../test-repo
   $ hg update -q
+  $ echo 'Fix fix fix' > file1
+  $ hg amend -m'fix bug 37'
   $ echo 'Fix fix fix.' > file1
   $ hg amend -m'fix bug 37'
 
 Figure SG02
-  $ hg shortlog --hidden -G
-  @  2:60ffde5765c5  draft  fix bug 37
+  $ hg -R ../dev-repo shortlog --hidden -G
+  @  1:f649  draft  prelim change
   |
-  | x  1:f6490818a721  draft  prelim change
+  o  0:0dc9  public  create new project
+  
+  $ hg -R ../test-repo shortlog --hidden -G
+  @  3:522d  draft  fix bug 37
+  |
+  | x  2:96d8  draft  fix bug 37
   |/
-  o  0:0dc9c9f6ab91  public  create new project
+  | x  1:f649  draft  prelim change
+  |/
+  o  0:0dc9  public  create new project
   
 Pull into dev-repo: obsolescence markers are transferred, but not
 the new obsolete changeset.
@@ -86,50 +100,56 @@
   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
+  new changesets 522d503432a2
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  updated to "60ffde5765c5: fix bug 37"
+  updated to "522d503432a2: fix bug 37"
   1 other heads for branch "default"
 
 Figure SG03
-  $ hg shortlog --hidden -G
-  @  2:60ffde5765c5  draft  fix bug 37
+  $ hg -R ../dev-repo shortlog --hidden -G
+  @  2:522d  draft  fix bug 37
   |
-  | x  1:f6490818a721  draft  prelim change
+  | x  1:f649  draft  prelim change
   |/
-  o  0:0dc9c9f6ab91  public  create new project
+  o  0:0dc9  public  create new project
   
 Amend again in dev-repo
+  $ echo 'Fix, fix, and fix' > file1
+  $ hg amend
   $ echo 'Fix, fix, and fix.' > file1
   $ hg amend
   $ hg push -q
 
 Figure SG04 (dev-repo)
   $ hg shortlog --hidden -G
-  @  3:de6151c48e1c  draft  fix bug 37
+  @  4:7b49  draft  fix bug 37
   |
-  | x  2:60ffde5765c5  draft  fix bug 37
+  | x  3:e42b  draft  fix bug 37
   |/
-  | x  1:f6490818a721  draft  prelim change
+  | x  2:522d  draft  fix bug 37
   |/
-  o  0:0dc9c9f6ab91  public  create new project
+  | x  1:f649  draft  prelim change
+  |/
+  o  0:0dc9  public  create new project
   
 Figure SG04 (test-repo)
   $ cd ../test-repo
   $ hg update
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  updated to "de6151c48e1c: fix bug 37"
+  updated to "7b49f864d655: fix bug 37"
   1 other heads for branch "default"
   $ hg shortlog --hidden -G
-  @  3:de6151c48e1c  draft  fix bug 37
+  @  4:7b49  draft  fix bug 37
   |
-  | x  2:60ffde5765c5  draft  fix bug 37
+  | x  3:522d  draft  fix bug 37
   |/
-  | x  1:f6490818a721  draft  prelim change
+  | x  2:96d8  draft  fix bug 37
   |/
-  o  0:0dc9c9f6ab91  public  create new project
+  | x  1:f649  draft  prelim change
+  |/
+  o  0:0dc9  public  create new project
   
 This bug fix is finished. We can push it to the public repository.
   $ hg push
@@ -139,23 +159,23 @@
   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'
-  abort: cannot amend public changesets: de6151c48e1c
+  abort: cannot amend public changesets: 7b49f864d655
   (see 'hg help phases' for details)
   [255]
 
 Figure SG05
   $ hg -R ../public shortlog -G
-  o  1:de6151c48e1c  public  fix bug 37
+  o  1:7b49  public  fix bug 37
   |
-  o  0:0dc9c9f6ab91  public  create new project
+  o  0:0dc9  public  create new project
   
 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:7b49  draft  fix bug 37
   $ hg push ../dev-repo
   pushing to ../dev-repo
   searching for changes
@@ -195,7 +215,7 @@
   added 1 changesets with 1 changes to 1 files
   exporting bookmark bug15
   $ hg -R ../review bookmarks
-     bug15                     2:f91e97234c2b
+     bug15                     2:4e965c66c983
 
 Alice receives code review, amends her fix, and goes out to lunch to
 await second review.
@@ -212,15 +232,15 @@
   obsoleted 1 changesets
   updating bookmark bug15
   $ hg -R ../review bookmarks
-     bug15                     3:cbdfbd5a5db2
+     bug15                     3:3363442626b3
 
 Figure SG06: review repository after Alice pushes her amended changeset.
   $ hg --hidden -R ../review shortlog -G -r 1::
-  o  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  o  3:3363  draft  fix bug 15 (v2)
   |
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
+  | x  2:4e96  draft  fix bug 15 (v1)
   |/
-  @  1:de6151c48e1c  public  fix bug 37
+  @  1:7b49  public  fix bug 37
   |
   ~
 
@@ -232,15 +252,15 @@
   $ hg push -B featureX
   pushing to $TESTTMP/review (glob)
   searching for changes
-  remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2
+  remote has heads on branch 'default' that are not known locally: 3363442626b3
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   exporting bookmark featureX
   $ hg -R ../review bookmarks
-     bug15                     3:cbdfbd5a5db2
-     featureX                  4:193657d1e852
+     bug15                     3:3363442626b3
+     featureX                  4:c7ff98c7916f
 
 Bob receives first review, amends and pushes.
   $ echo 'do stuff' > file1
@@ -248,7 +268,7 @@
   $ hg push
   pushing to $TESTTMP/review (glob)
   searching for changes
-  remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2
+  remote has heads on branch 'default' that are not known locally: 3363442626b3
   adding changesets
   adding manifests
   adding file changes
@@ -274,7 +294,7 @@
   $ hg push ../review
   pushing to ../review
   searching for changes
-  remote has heads on branch 'default' that are not known locally: cbdfbd5a5db2
+  remote has heads on branch 'default' that are not known locally: 3363442626b3
   adding changesets
   adding manifests
   adding file changes
@@ -283,45 +303,28 @@
   obsoleted 1 changesets
   updating bookmark featureX
   $ hg -R ../review bookmarks
-     bug15                     3:cbdfbd5a5db2
-     featureX                  6:540ba8f317e6
+     bug15                     3:3363442626b3
+     featureX                  6:9d21d673314a
 
 Figure SG07: review and public repos after Bob implements feature X.
   $ hg --hidden -R ../review shortlog -G -r 1::
-  o  6:540ba8f317e6  public  implement feature X (v3)
+  o  6:9d21  public  implement feature X (v3)
   |
-  | x  5:0eb74a7b6698  draft  implement feature X (v2)
+  | x  5:1bb4  draft  implement feature X (v2)
   |/
-  | x  4:193657d1e852  draft  implement feature X (v1)
+  | x  4:c7ff  draft  implement feature X (v1)
   |/
-  | o  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  | o  3:3363  draft  fix bug 15 (v2)
   |/
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
+  | x  2:4e96  draft  fix bug 15 (v1)
   |/
-  @  1:de6151c48e1c  public  fix bug 37
+  @  1:7b49  public  fix bug 37
   |
   ~
   $ hg --hidden -R ../public shortlog -G -r 1::
-  o  2:540ba8f317e6  public  implement feature X (v3)
-  |
-  o  1:de6151c48e1c  public  fix bug 37
+  o  2:9d21  public  implement feature X (v3)
   |
-  ~
-
-How do things look in the review repo?
-  $ cd ../review
-  $ hg --hidden shortlog -G -r 1::
-  o  6:540ba8f317e6  public  implement feature X (v3)
-  |
-  | x  5:0eb74a7b6698  draft  implement feature X (v2)
-  |/
-  | x  4:193657d1e852  draft  implement feature X (v1)
-  |/
-  | o  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
-  |/
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
-  |/
-  @  1:de6151c48e1c  public  fix bug 37
+  o  1:7b49  public  fix bug 37
   |
   ~
 
@@ -329,20 +332,20 @@
 her change, so now she can publish it.
   $ cd ../alice
   $ hg --hidden shortlog -G -r 1::
-  @  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  @  3:3363  draft  fix bug 15 (v2)
   |
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
+  | x  2:4e96  draft  fix bug 15 (v1)
   |/
-  o  1:de6151c48e1c  public  fix bug 37
+  o  1:7b49  public  fix bug 37
   |
   ~
   $ hg outgoing -q ../public
-  3:cbdfbd5a5db2
+  3:3363442626b3
   $ hg push ../public
   pushing to ../public
   searching for changes
-  remote has heads on branch 'default' that are not known locally: 540ba8f317e6
-  abort: push creates new remote head cbdfbd5a5db2 with bookmark 'bug15'!
+  remote has heads on branch 'default' that are not known locally: 9d21d673314a
+  abort: push creates new remote head 3363442626b3 with bookmark 'bug15'!
   (pull and merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg pull ../public
@@ -353,30 +356,30 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   2 new obsolescence markers
-  new changesets 540ba8f317e6
+  new changesets 9d21d673314a
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg log -G -q -r 'head()'
-  o  4:540ba8f317e6
+  o  4:9d21d673314a
   |
   ~
-  @  3:cbdfbd5a5db2
+  @  3:3363442626b3
   |
   ~
   $ hg --hidden shortlog -G -r 1::
-  o  4:540ba8f317e6  public  implement feature X (v3)
+  o  4:9d21  public  implement feature X (v3)
   |
-  | @  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  | @  3:3363  draft  fix bug 15 (v2)
   |/
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
+  | x  2:4e96  draft  fix bug 15 (v1)
   |/
-  o  1:de6151c48e1c  public  fix bug 37
+  o  1:7b49  public  fix bug 37
   |
   ~
 
 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)
+  $ hg rebase -d 4
+  rebasing 3:3363442626b3 "fix bug 15 (v2)" (bug15)
   $ hg push ../public
   pushing to ../public
   searching for changes
@@ -398,27 +401,27 @@
 
 Figure SG08: review and public changesets after Alice pushes.
   $ hg --hidden -R ../review shortlog -G -r 1::
-  o  7:a06ec1bf97bd  public  fix bug 15 (v2)
+  o  7:dd15  public  fix bug 15 (v2)
   |
-  o  6:540ba8f317e6  public  implement feature X (v3)
+  o  6:9d21  public  implement feature X (v3)
   |
-  | x  5:0eb74a7b6698  draft  implement feature X (v2)
+  | x  5:1bb4  draft  implement feature X (v2)
   |/
-  | x  4:193657d1e852  draft  implement feature X (v1)
+  | x  4:c7ff  draft  implement feature X (v1)
   |/
-  | x  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  | x  3:3363  draft  fix bug 15 (v2)
   |/
-  | x  2:f91e97234c2b  draft  fix bug 15 (v1)
+  | x  2:4e96  draft  fix bug 15 (v1)
   |/
-  @  1:de6151c48e1c  public  fix bug 37
+  @  1:7b49  public  fix bug 37
   |
   ~
   $ hg --hidden -R ../public shortlog -G -r 1::
-  o  3:a06ec1bf97bd  public  fix bug 15 (v2)
+  o  3:dd15  public  fix bug 15 (v2)
   |
-  o  2:540ba8f317e6  public  implement feature X (v3)
+  o  2:9d21  public  implement feature X (v3)
   |
-  o  1:de6151c48e1c  public  fix bug 37
+  o  1:7b49  public  fix bug 37
   |
   ~
   $ cd ..
@@ -445,7 +448,7 @@
   $ echo 'pretty good fix' >> file1
   $ hg commit -u bob -m 'fix bug 24 (v1)'
   $ hg shortlog -r .
-  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
+  4:b2be  draft  fix bug 24 (v1)
 
 Alice pulls Bob's draft changeset and amends it herself. ::
 
@@ -457,7 +460,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 2fe6c4bd32d0
+  new changesets b2be254b3b9f
   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,11 +471,11 @@
   $ 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)
+  @  5:541f  draft  fix bug 24 (v2 by bob)
   |
-  | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
+  | x  4:b2be  draft  fix bug 24 (v1)
   |/
-  o  3:a06ec1bf97bd  public  fix bug 15 (v2)
+  o  3:dd15  public  fix bug 15 (v2)
   |
   ~
 
@@ -486,23 +489,23 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   2 new content-divergent changesets
-  new changesets e3f99ce9d9cd
+  new changesets e3a586fd2377
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Figure SG09: multiple heads! divergence! oh my!
   $ hg --hidden shortlog -G -r 3::
-  *  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  *  6:e3a5  draft  fix bug 24 (v2 by alice)
   |
-  | @  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  | @  5:541f  draft  fix bug 24 (v2 by bob)
   |/
-  | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
+  | x  4:b2be  draft  fix bug 24 (v1)
   |/
-  o  3:a06ec1bf97bd  public  fix bug 15 (v2)
+  o  3:dd15  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)
+  $ hg --hidden shortlog -r 'successors(b2be)'
+  5:541f  draft  fix bug 24 (v2 by bob)
+  6:e3a5  draft  fix bug 24 (v2 by alice)
 
 Use evolve to fix the divergence.
   $ cat > editor.sh <<EOF
@@ -517,25 +520,25 @@
   with: [6] fix bug 24 (v2 by alice)
   base: [4] fix bug 24 (v1)
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
-  working directory is now at b1499b0f03ca
+  working directory is now at aa824ceedb8b
   $ hg log -q -r 'contentdivergent()'
 
 Figure SG10: Bob's repository after fixing divergence.
   $ hg --hidden shortlog -G -r 3::
-  @  7:b1499b0f03ca  draft  fix bug 24 (v2 by bob)
+  @  7:aa82  draft  fix bug 24 (v2 by bob)
   |
-  | x  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  | x  6:e3a5  draft  fix bug 24 (v2 by alice)
   |/
-  | x  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  | x  5:541f  draft  fix bug 24 (v2 by bob)
   |/
-  | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
+  | x  4:b2be  draft  fix bug 24 (v1)
   |/
-  o  3:a06ec1bf97bd  public  fix bug 15 (v2)
+  o  3:dd15  public  fix bug 15 (v2)
   |
   ~
-  $ hg --hidden shortlog -r 'predecessors(b1499b0f03ca)'
-  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
-  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  $ hg --hidden shortlog -r 'predecessors(aa82)'
+  5:541f  draft  fix bug 24 (v2 by bob)
+  6:e3a5  draft  fix bug 24 (v2 by alice)
   $ cat file1
   Do stuff.
   pretty good fix