Mercurial > hg
view tests/wireprotohelpers.sh @ 44718:0680b8a1992a
phabricator: avoid creating unstable children within the review stack
The instability occurred when rebasing something that has already been submitted
onto something that hasn't, and then resubmitting the stack. Or as the test
shows, just resubmitting and including something earlier that wasn't previously
submitted.
There's a general case here where any children (not just the ones in the range
of commits posted for review) should be re-stabilized. But handling the
selected commits here will cause the `local:commit` node values that are tracked
on Phabricator to be properly kept in sync.
Differential Revision: https://phab.mercurial-scm.org/D8436
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 03 Mar 2020 17:37:09 -0500 |
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 }