infinitepush: add tests for `hg pull -r <rev>`
This patch adds test for `hg pull -r <rev>` when the infinitepush extension is
not present on the client side and the server by defaults pushes all the
incoming push to bundlestore.
As the tests show, if a the changeset was applied to the server, that can be
pulled, but if a changeset is in the bundlestore we cannot pull that yet. We
should support that.
Differential Revision: https://phab.mercurial-scm.org/D2998
--- a/tests/test-infinitepush-ci.t Sat Mar 31 14:56:57 2018 +0530
+++ b/tests/test-infinitepush-ci.t Sat Mar 31 16:41:17 2018 +0530
@@ -23,6 +23,7 @@
$ cd ..
$ hg clone repo client -q
+ $ hg clone repo client2 -q
$ cd client
Pushing a new commit from the client to the server
@@ -172,6 +173,43 @@
searching for changes
no changes found
+Pulling from second client to test `hg pull -r <rev>`
+------------------------------------------------------
+
+Pulling the revision which is applied
+
+ $ cd ../client2
+ $ hg pull -r 6cb0989601f1
+ pulling from $TESTTMP/repo
+ 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 bundlestore without client side
+wrapping
+
+ $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef
+ pulling from $TESTTMP/repo
+ abort: unknown revision 'b4e4bce660512ad3e71189e14588a70ac8e31fef'!
+ [255]
+ $ hg glog
+ o 1:6cb0989601f1 added a
+ | public
+ @ 0:67145f466344 initialcommit
+ public
+
+ $ cd ../client
+
Checking storage of phase information with the bundle on bundlestore
---------------------------------------------------------------------