bundleclone: make testing compatible with Mercurial 3.7 (
bug 1228088); r=dminor
The bundleclone extension no longer works in Mercurial 3.7 because
localrepository.clone (the function it overrides to do most of the
special clone work) no longer exists.
The extension no-ops when the server supports clone bundles anyway. So
it was already doing nothing on 3.6 when clone bundles was enabled.
We update the tests to not run on 3.7+. We also add a new test that
verifies 3.7+ continues to work (as a no-op).
MozReview-Commit-ID: HTp3aOJ4MUB
--- a/hgext/bundleclone/tests/test-clone.t
+++ b/hgext/bundleclone/tests/test-clone.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
$ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
$ cat >> $HGRCPATH << EOF
> [extensions]
> bundleclone = $TESTDIR/hgext/bundleclone
> EOF
$ hg init server
--- a/hgext/bundleclone/tests/test-clonebundles-compat.t
+++ b/hgext/bundleclone/tests/test-clonebundles-compat.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
$ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
$ cat >> $HGRCPATH << EOF
> [extensions]
> bundleclone = $TESTDIR/hgext/bundleclone
> EOF
$ hg init server
new file mode 100644
--- /dev/null
+++ b/hgext/bundleclone/tests/test-modern-hg.t
@@ -0,0 +1,34 @@
+#require hg37+
+
+bundleclone wraps localrepository.clone, which doesn't exist in Mercurial 3.7+.
+This test verifies the extension no-ops on modern hg versions.
+
+ $ cat >> $HGRCPATH << EOF
+ > [extensions]
+ > bundleclone = $TESTDIR/hgext/bundleclone
+ > EOF
+
+ $ hg init server
+ $ cd server
+ $ touch foo
+ $ hg -q commit -A -m 'add foo'
+ $ touch bar
+ $ hg -q commit -A -m 'add bar'
+
+ $ hg serve -d -p $HGPORT --pid-file hg.pid
+ $ cat hg.pid >> $DAEMON_PIDS
+ $ touch .hg/bundleclone.manifest
+ $ cd ..
+
+ $ hg -v clone http://localhost:$HGPORT client1
+ requesting all changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 2 changesets with 2 changes to 2 files
+ updating to branch default
+ resolving manifests
+ getting bar
+ getting foo
+ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
--- a/hgext/bundleclone/tests/test-not-applicable.t
+++ b/hgext/bundleclone/tests/test-not-applicable.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
$ hg init server
$ cd server
$ touch foo
$ hg commit -A -m 'add foo'
adding foo
$ hg serve -d -p $HGPORT --pid-file hg.pid
$ cat hg.pid >> $DAEMON_PIDS
--- a/hgext/bundleclone/tests/test-prefers.t
+++ b/hgext/bundleclone/tests/test-prefers.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
$ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
$ cat >> $HGRCPATH << EOF
> [extensions]
> bundleclone = $TESTDIR/hgext/bundleclone
> EOF
Create the server repo
--- a/hgext/bundleclone/tests/test-sni.t
+++ b/hgext/bundleclone/tests/test-sni.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
$ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
$ cat >> $HGRCPATH << EOF
> [extensions]
> bundleclone = $TESTDIR/hgext/bundleclone
> EOF
Create the server repo