tests/test-infinitepush-ci.t
changeset 50803 609a3b8058c3
parent 50802 cf0502231d56
child 50806 337bc83c1275
--- a/tests/test-infinitepush-ci.t	Fri Jun 23 13:27:09 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,579 +0,0 @@
-#require no-reposimplestore
-
-Testing the case when there is no infinitepush extension present on the client
-side and the server routes each push to bundlestore. This case is very much
-similar to CI use case.
-
-Setup
------
-
-  $ . "$TESTDIR/library-infinitepush.sh"
-  $ cat >> $HGRCPATH <<EOF
-  > [alias]
-  > glog = log -GT "{rev}:{node|short} {desc}\n{phase}"
-  > EOF
-  $ cp $HGRCPATH $TESTTMP/defaulthgrc
-  $ hg init repo
-  $ cd repo
-  $ setupserver
-  $ echo "pushtobundlestore = True" >> .hg/hgrc
-  $ echo "[extensions]" >> .hg/hgrc
-  $ echo "infinitepush=" >> .hg/hgrc
-  $ echo "[infinitepush]" >> .hg/hgrc
-  $ echo "deprecation-abort=no" >> .hg/hgrc
-  $ echo initialcommit > initialcommit
-  $ hg ci -Aqm "initialcommit"
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  IMPORTANT: if you use this extension, please contact (chg !)
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be (chg !)
-  unused and barring learning of users of this functionality, we drop this (chg !)
-  extension in Mercurial 6.6. (chg !)
-  $ hg phase --public .
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-
-  $ cd ..
-  $ hg clone repo client -q
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  $ hg clone repo client2 -q
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  $ hg clone ssh://user@dummy/repo client3 -q
-  remote: IMPORTANT: if you use this extension, please contact
-  remote: mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  remote: unused and barring learning of users of this functionality, we drop this
-  remote: extension in Mercurial 6.6.
-  $ cd client
-
-Pushing a new commit from the client to the server
------------------------------------------------------
-
-  $ echo foobar > a
-  $ hg ci -Aqm "added a"
-  $ hg glog
-  @  1:6cb0989601f1 added a
-  |  draft
-  o  0:67145f466344 initialcommit
-     public
-
-  $ hg push
-  pushing to $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  storing changesets on the bundlestore
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  pushing 1 commit:
-      6cb0989601f1  added a
-
-  $ scratchnodes
-  6cb0989601f1fb5805238edfb16f3606713d9a0b 3b414252ff8acab801318445d88ff48faf4a28c3
-
-Understanding how data is stored on the bundlestore in server
--------------------------------------------------------------
-
-There are two things, filebundlestore and index
-  $ ls ../repo/.hg/scratchbranches
-  filebundlestore
-  index
-
-filebundlestore stores the bundles
-  $ ls ../repo/.hg/scratchbranches/filebundlestore/3b/41/
-  3b414252ff8acab801318445d88ff48faf4a28c3
-
-index/nodemap stores a map of node id and file in which bundle is stored in filebundlestore
-  $ ls ../repo/.hg/scratchbranches/index/
-  nodemap
-  $ ls ../repo/.hg/scratchbranches/index/nodemap/
-  6cb0989601f1fb5805238edfb16f3606713d9a0b
-
-  $ cd ../repo
-
-Checking that the commit was not applied to revlog on the server
-------------------------------------------------------------------
-
-  $ hg glog
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  @  0:67145f466344 initialcommit
-     public
-
-Applying the changeset from the bundlestore
---------------------------------------------
-
-  $ hg unbundle .hg/scratchbranches/filebundlestore/3b/41/3b414252ff8acab801318445d88ff48faf4a28c3
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 1 changes to 1 files
-  new changesets 6cb0989601f1
-  (run 'hg update' to get a working copy)
-
-  $ hg glog
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-Pushing more changesets from the local repo
---------------------------------------------
-
-  $ cd ../client
-  $ echo b > b
-  $ hg ci -Aqm "added b"
-  $ echo c > c
-  $ hg ci -Aqm "added c"
-  $ hg glog
-  @  3:bf8a6e3011b3 added c
-  |  draft
-  o  2:eaba929e866c added b
-  |  draft
-  o  1:6cb0989601f1 added a
-  |  public
-  o  0:67145f466344 initialcommit
-     public
-
-  $ hg push
-  pushing to $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  storing changesets on the bundlestore
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  pushing 2 commits:
-      eaba929e866c  added b
-      bf8a6e3011b3  added c
-
-Checking that changesets are not applied on the server
-------------------------------------------------------
-
-  $ hg glog -R ../repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-Both of the new changesets are stored in a single bundle-file
-  $ scratchnodes
-  6cb0989601f1fb5805238edfb16f3606713d9a0b 3b414252ff8acab801318445d88ff48faf4a28c3
-  bf8a6e3011b345146bbbedbcb1ebd4837571492a 239585f5e61f0c09ce7106bdc1097bff731738f4
-  eaba929e866c59bc9a6aada5a9dd2f6990db83c0 239585f5e61f0c09ce7106bdc1097bff731738f4
-
-Pushing more changesets to the server
--------------------------------------
-
-  $ echo d > d
-  $ hg ci -Aqm "added d"
-  $ echo e > e
-  $ hg ci -Aqm "added e"
-
-XXX: we should have pushed only the parts which are not in bundlestore
-  $ hg push
-  pushing to $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  storing changesets on the bundlestore
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  pushing 4 commits:
-      eaba929e866c  added b
-      bf8a6e3011b3  added c
-      1bb96358eda2  added d
-      b4e4bce66051  added e
-
-Sneak peek into the bundlestore at the server
-  $ scratchnodes
-  1bb96358eda285b536c6d1c66846a7cdb2336cea 98fbae0016662521b0007da1b7bc349cd3caacd1
-  6cb0989601f1fb5805238edfb16f3606713d9a0b 3b414252ff8acab801318445d88ff48faf4a28c3
-  b4e4bce660512ad3e71189e14588a70ac8e31fef 98fbae0016662521b0007da1b7bc349cd3caacd1
-  bf8a6e3011b345146bbbedbcb1ebd4837571492a 98fbae0016662521b0007da1b7bc349cd3caacd1
-  eaba929e866c59bc9a6aada5a9dd2f6990db83c0 98fbae0016662521b0007da1b7bc349cd3caacd1
-
-Checking if `hg pull` pulls something or `hg incoming` shows something
------------------------------------------------------------------------
-
-  $ hg incoming
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  comparing with $TESTTMP/repo
-  searching for changes
-  no changes found
-  [1]
-
-  $ hg pull
-  pulling from $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  no changes found
-
-Pulling from second client which is a localpeer to test `hg pull -r <rev>`
---------------------------------------------------------------------------
-
-Pulling the revision which is applied
-
-  $ cd ../client2
-  $ hg pull -r 6cb0989601f1
-  pulling from $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 1 changes to 1 files
-  new changesets 6cb0989601f1
-  (run 'hg update' to get a working copy)
-  $ hg glog
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-Pulling the revision which is in bundlestore
-XXX: we should support pulling revisions from a local peers bundlestore without
-client side wrapping
-
-  $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef
-  pulling from $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  abort: unknown revision 'b4e4bce660512ad3e71189e14588a70ac8e31fef'
-  [10]
-  $ hg glog
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-  $ cd ../client
-
-Pulling from third client which is not a localpeer
----------------------------------------------------
-
-Pulling the revision which is applied
-
-  $ cd ../client3
-  $ hg pull -r 6cb0989601f1
-  pulling from ssh://user@dummy/repo
-  remote: IMPORTANT: if you use this extension, please contact
-  remote: mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  remote: unused and barring learning of users of this functionality, we drop this
-  remote: extension in Mercurial 6.6.
-  searching for changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 1 changes to 1 files
-  new changesets 6cb0989601f1
-  (run 'hg update' to get a working copy)
-  $ hg glog
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-Pulling the revision which is in bundlestore
-
-Trying to specify short hash
-XXX: we should support this
-  $ hg pull -r b4e4bce660512
-  pulling from ssh://user@dummy/repo
-  remote: IMPORTANT: if you use this extension, please contact
-  remote: mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  remote: unused and barring learning of users of this functionality, we drop this
-  remote: extension in Mercurial 6.6.
-  abort: unknown revision 'b4e4bce660512'
-  [255]
-
-XXX: we should show better message when the pull is happening from bundlestore
-  $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef
-  pulling from ssh://user@dummy/repo
-  remote: IMPORTANT: if you use this extension, please contact
-  remote: mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  remote: unused and barring learning of users of this functionality, we drop this
-  remote: extension in Mercurial 6.6.
-  searching for changes
-  remote: IMPORTANT: if you use this extension, please contact
-  remote: mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  remote: unused and barring learning of users of this functionality, we drop this
-  remote: extension in Mercurial 6.6.
-  adding changesets
-  adding manifests
-  adding file changes
-  added 4 changesets with 4 changes to 4 files
-  new changesets eaba929e866c:b4e4bce66051
-  (run 'hg update' to get a working copy)
-  $ hg glog
-  o  5:b4e4bce66051 added e
-  |  public
-  o  4:1bb96358eda2 added d
-  |  public
-  o  3:bf8a6e3011b3 added c
-  |  public
-  o  2:eaba929e866c added b
-  |  public
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-  $ cd ../client
-
-Checking storage of phase information with the bundle on bundlestore
----------------------------------------------------------------------
-
-creating a draft commit
-  $ cat >> $HGRCPATH <<EOF
-  > [phases]
-  > publish = False
-  > EOF
-  $ echo f > f
-  $ hg ci -Aqm "added f"
-  $ hg glog -r '.^::'
-  @  6:9b42578d4447 added f
-  |  draft
-  o  5:b4e4bce66051 added e
-  |  public
-  ~
-
-  $ hg push
-  pushing to $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  storing changesets on the bundlestore
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  pushing 5 commits:
-      eaba929e866c  added b
-      bf8a6e3011b3  added c
-      1bb96358eda2  added d
-      b4e4bce66051  added e
-      9b42578d4447  added f
-
-XXX: the phase of 9b42578d4447 should not be changed here
-  $ hg glog -r .
-  @  6:9b42578d4447 added f
-  |  public
-  ~
-
-applying the bundle on the server to check preservation of phase-information
-
-  $ cd ../repo
-  $ scratchnodes
-  1bb96358eda285b536c6d1c66846a7cdb2336cea 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  6cb0989601f1fb5805238edfb16f3606713d9a0b 3b414252ff8acab801318445d88ff48faf4a28c3
-  9b42578d44473575994109161430d65dd147d16d 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  b4e4bce660512ad3e71189e14588a70ac8e31fef 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  bf8a6e3011b345146bbbedbcb1ebd4837571492a 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  eaba929e866c59bc9a6aada5a9dd2f6990db83c0 280a46a259a268f0e740c81c5a7751bdbfaec85f
-
-  $ hg unbundle .hg/scratchbranches/filebundlestore/28/0a/280a46a259a268f0e740c81c5a7751bdbfaec85f
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  adding changesets
-  adding manifests
-  adding file changes
-  added 5 changesets with 5 changes to 5 files
-  new changesets eaba929e866c:9b42578d4447 (1 drafts)
-  (run 'hg update' to get a working copy)
-
-  $ hg glog
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  o  6:9b42578d4447 added f
-  |  draft
-  o  5:b4e4bce66051 added e
-  |  public
-  o  4:1bb96358eda2 added d
-  |  public
-  o  3:bf8a6e3011b3 added c
-  |  public
-  o  2:eaba929e866c added b
-  |  public
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-Checking storage of obsmarkers in the bundlestore
---------------------------------------------------
-
-enabling obsmarkers and rebase extension
-
-  $ cat >> $HGRCPATH << EOF
-  > [experimental]
-  > evolution = all
-  > [extensions]
-  > rebase =
-  > EOF
-
-  $ cd ../client
-
-  $ hg phase -r . --draft --force
-  $ hg rebase -r 6 -d 3
-  rebasing 6:9b42578d4447 tip "added f"
-
-  $ hg glog
-  @  7:99949238d9ac added f
-  |  draft
-  | o  5:b4e4bce66051 added e
-  | |  public
-  | o  4:1bb96358eda2 added d
-  |/   public
-  o  3:bf8a6e3011b3 added c
-  |  public
-  o  2:eaba929e866c added b
-  |  public
-  o  1:6cb0989601f1 added a
-  |  public
-  o  0:67145f466344 initialcommit
-     public
-
-  $ hg push -f
-  pushing to $TESTTMP/repo
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  searching for changes
-  storing changesets on the bundlestore
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  pushing 1 commit:
-      99949238d9ac  added f
-
-XXX: the phase should not have changed here
-  $ hg glog -r .
-  @  7:99949238d9ac added f
-  |  public
-  ~
-
-Unbundling on server to see obsmarkers being applied
-
-  $ cd ../repo
-
-  $ scratchnodes
-  1bb96358eda285b536c6d1c66846a7cdb2336cea 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  6cb0989601f1fb5805238edfb16f3606713d9a0b 3b414252ff8acab801318445d88ff48faf4a28c3
-  99949238d9ac7f2424a33a46dface6f866afd059 090a24fe63f31d3b4bee714447f835c8c362ff57
-  9b42578d44473575994109161430d65dd147d16d 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  b4e4bce660512ad3e71189e14588a70ac8e31fef 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  bf8a6e3011b345146bbbedbcb1ebd4837571492a 280a46a259a268f0e740c81c5a7751bdbfaec85f
-  eaba929e866c59bc9a6aada5a9dd2f6990db83c0 280a46a259a268f0e740c81c5a7751bdbfaec85f
-
-  $ hg glog
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  IMPORTANT: if you use this extension, please contact (chg !)
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be (chg !)
-  unused and barring learning of users of this functionality, we drop this (chg !)
-  extension in Mercurial 6.6. (chg !)
-  o  6:9b42578d4447 added f
-  |  draft
-  o  5:b4e4bce66051 added e
-  |  public
-  o  4:1bb96358eda2 added d
-  |  public
-  o  3:bf8a6e3011b3 added c
-  |  public
-  o  2:eaba929e866c added b
-  |  public
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public
-
-  $ hg unbundle .hg/scratchbranches/filebundlestore/09/0a/090a24fe63f31d3b4bee714447f835c8c362ff57
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 0 changes to 1 files (+1 heads)
-  1 new obsolescence markers
-  obsoleted 1 changesets
-  new changesets 99949238d9ac (1 drafts)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
-
-  $ hg glog
-  IMPORTANT: if you use this extension, please contact
-  mercurial-devel@mercurial-scm.org IMMEDIATELY. This extension is believed to be
-  unused and barring learning of users of this functionality, we drop this
-  extension in Mercurial 6.6.
-  o  7:99949238d9ac added f
-  |  draft
-  | o  5:b4e4bce66051 added e
-  | |  public
-  | o  4:1bb96358eda2 added d
-  |/   public
-  o  3:bf8a6e3011b3 added c
-  |  public
-  o  2:eaba929e866c added b
-  |  public
-  o  1:6cb0989601f1 added a
-  |  public
-  @  0:67145f466344 initialcommit
-     public