Mercurial > public > mercurial-scm > hg-stable
diff mercurial/wireproto.py @ 37486:6847542bb8d7
wireproto: port keep command to wire protocol v2
This is pretty straightforward.
Differential Revision: https://phab.mercurial-scm.org/D3180
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 28 Mar 2018 15:44:47 -0700 |
parents | 0b7475ea38cf |
children | 68915b9f8e96 |
line wrap: on
line diff
--- a/mercurial/wireproto.py Wed Mar 28 14:55:13 2018 -0700 +++ b/mercurial/wireproto.py Wed Mar 28 15:44:47 2018 -0700 @@ -1041,7 +1041,8 @@ success = 0 return wireprototypes.bytesresponse('%d %s\n' % (success, r)) -@wireprotocommand('known', 'nodes *', permission='pull') +@wireprotocommand('known', 'nodes *', permission='pull', + transportpolicy=POLICY_V1_ONLY) def known(repo, proto, nodes, others): v = ''.join(b and '1' or '0' for b in repo.known(decodelist(nodes))) return wireprototypes.bytesresponse(v) @@ -1215,3 +1216,10 @@ repo = repo.filtered('immutable') return wireprototypes.cborresponse(repo.heads()) + +@wireprotocommand('known', 'nodes', permission='pull', + transportpolicy=POLICY_V2_ONLY) +def knownv2(repo, proto, nodes=None): + nodes = nodes or [] + result = b''.join(b'1' if n else b'0' for n in repo.known(nodes)) + return wireprototypes.cborresponse(result)