Mercurial > hg
view tests/wireprotohelpers.sh @ 46526:67b5fafd3a46
upgrade: speed up when we have only nodemap to downgrade
Similar to what we do on upgrade, if we have only persistent-nodemap to
downgrade we will just delete the nodemap files and update repository
requirements instead of processing all the revlogs.
After downgrade, we are left with unrequired docket and transaction files which
seems fine but can work on deleting them if someone feels we should.
Differential Revision: https://phab.mercurial-scm.org/D9992
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Wed, 10 Feb 2021 17:08:34 +0530 |
parents | 41263df08109 |
children | 04688c51f81f |
line wrap: on
line source
HTTPV2=exp-http-v2-0003 MEDIATYPE=application/mercurial-exp-framing-0006 sendhttpraw() { hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ } sendhttpv2peer() { hg --config experimental.httppeer.v2-encoder-order=identity debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ } sendhttpv2peerverbose() { hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ } sendhttpv2peerhandshake() { hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/ } cat > dummycommands.py << EOF from mercurial import ( wireprototypes, wireprotov1server, wireprotov2server, ) @wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull') def customreadonlyv1(repo, proto): return wireprototypes.bytesresponse(b'customreadonly bytes response') @wireprotov2server.wireprotocommand(b'customreadonly', permission=b'pull') def customreadonlyv2(repo, proto): yield b'customreadonly bytes response' @wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push') def customreadwrite(repo, proto): return wireprototypes.bytesresponse(b'customreadwrite bytes response') @wireprotov2server.wireprotocommand(b'customreadwrite', permission=b'push') def customreadwritev2(repo, proto): yield b'customreadwrite bytes response' EOF cat >> $HGRCPATH << EOF [extensions] drawdag = $TESTDIR/drawdag.py EOF enabledummycommands() { cat >> $HGRCPATH << EOF [extensions] dummycommands = $TESTTMP/dummycommands.py EOF } enablehttpv2() { cat >> $1/.hg/hgrc << EOF [experimental] web.apiserver = true web.api.http-v2 = true EOF } enablehttpv2client() { cat >> $HGRCPATH << EOF [experimental] httppeer.advertise-v2 = true # So tests are in plain text. Also, zstd isn't available in all installs, # which would make tests non-deterministic. httppeer.v2-encoder-order = identity EOF }