summaryrefslogtreecommitdiff
path: root/tests/notcapable
diff options
context:
space:
mode:
Diffstat (limited to 'tests/notcapable')
-rw-r--r--tests/notcapable24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/notcapable b/tests/notcapable
new file mode 100644
index 0000000..ef8dc22
--- /dev/null
+++ b/tests/notcapable
@@ -0,0 +1,24 @@
+# Disable the $CAP wire protocol capability.
+
+if test -z "$CAP"
+then
+ echo "CAP environment variable not set."
+fi
+
+cat > notcapable-$CAP.py << EOF
+from mercurial import extensions, peer, localrepo
+def extsetup():
+ extensions.wrapfunction(peer.peerrepository, 'capable', wrapcapable)
+ extensions.wrapfunction(localrepo.localrepository, 'peer', wrappeer)
+def wrapcapable(orig, self, name, *args, **kwargs):
+ if name in '$CAP'.split(' '):
+ return False
+ return orig(self, name, *args, **kwargs)
+def wrappeer(orig, self):
+ # Since we're disabling some newer features, we need to make sure local
+ # repos add in the legacy features again.
+ return localrepo.locallegacypeer(self)
+EOF
+
+echo '[extensions]' >> $HGRCPATH
+echo "notcapable-$CAP = `pwd`/notcapable-$CAP.py" >> $HGRCPATH