log: fix crash on empty revision with --copies switch
If a revset is empty, .max() raises ValueError.
I don't see any reason to recompute the revs, so I made it reuse the one
returned by logcmdutil.getrevs(). If no revs specified by command line,
the endrev will be smartset.spanset(repo) + 1, which is basically the same
as len(repo), the default of getrenamedfn(). If --follow specified,
revs.max() points to the working parent, which seems more correct.
HTTPV2=exp-http-v2-0001
MEDIATYPE=application/mercurial-exp-framing-0005
sendhttpraw() {
hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
}
sendhttpv2peer() {
hg --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/
}
sendhttpv2peerhandshake() {
hg --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/
}
cat > dummycommands.py << EOF
from mercurial import (
wireprototypes,
wireproto,
)
@wireproto.wireprotocommand('customreadonly', permission='pull')
def customreadonlyv1(repo, proto):
return wireprototypes.bytesresponse(b'customreadonly bytes response')
@wireproto.wireprotocommand('customreadonly', permission='pull',
transportpolicy=wireproto.POLICY_V2_ONLY)
def customreadonlyv2(repo, proto):
return wireprototypes.cborresponse(b'customreadonly bytes response')
@wireproto.wireprotocommand('customreadwrite', permission='push')
def customreadwrite(repo, proto):
return wireprototypes.bytesresponse(b'customreadwrite bytes response')
@wireproto.wireprotocommand('customreadwrite', permission='push',
transportpolicy=wireproto.POLICY_V2_ONLY)
def customreadwritev2(repo, proto):
return wireprototypes.cborresponse(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
}