diff options
Diffstat (limited to 'tests/notcapable')
-rw-r--r-- | tests/notcapable | 24 |
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 |