tests/notcapable
author timeless <timeless@mozdev.org>
Thu, 31 Mar 2016 02:05:28 +0000
changeset 28782 f736f98e16ca
parent 17192 1ac628cd7113
child 33827 dedab036215d
permissions -rw-r--r--
mpatch: unify mpatchError (issue5182) The pure version was mpatch was throwing struct.error or ValueError for errors, whereas the C version was throwing an "mpatch.mpatchError". Introducing an mpatch.mpatchError into pure and using it consistently is fairly easy, but the actual form for it is mercurial.mpatch.mpatchError, so with this commit, we change the C implementation to match the naming convention too.

# 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