Mercurial > hg
view hgext/narrow/narrowtemplates.py @ 37294:27527d8cff5c
wireproto: mark SSHv2 as a version 1 transport
The version component is used for filtering/routing wire protocol
commands to their proper handler. The actual version 2 of the wire
protocol commands will use a different encoding of responses. We
already have tests using the version 2 SSH transport and version 2
of the wire protocol commands won't be implemented atomically.
This commit marks the SSHv2 transport as version 1 so it will
still invoke the version 1 commands. Once the commands are all
implemented in version 2, we can restore its proper behavior.
Some tests had to be disabled as a result of this change.
Differential Revision: https://phab.mercurial-scm.org/D2981
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 28 Mar 2018 10:12:02 -0700 |
parents | 7b74afec6772 |
children | 05ded838c997 |
line wrap: on
line source
# narrowtemplates.py - added template keywords for narrow clones # # Copyright 2017 Google, Inc. # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import from mercurial import ( registrar, revlog, ) keywords = {} templatekeyword = registrar.templatekeyword(keywords) revsetpredicate = registrar.revsetpredicate() def _isellipsis(repo, rev): if repo.changelog.flags(rev) & revlog.REVIDX_ELLIPSIS: return True return False @templatekeyword('ellipsis', requires={'repo', 'ctx'}) def ellipsis(context, mapping): """String. 'ellipsis' if the change is an ellipsis node, else ''.""" repo = context.resource(mapping, 'repo') ctx = context.resource(mapping, 'ctx') if _isellipsis(repo, ctx.rev()): return 'ellipsis' return '' @templatekeyword('outsidenarrow', requires={'repo', 'ctx'}) def outsidenarrow(context, mapping): """String. 'outsidenarrow' if the change affects no tracked files, else ''.""" repo = context.resource(mapping, 'repo') ctx = context.resource(mapping, 'ctx') m = repo.narrowmatch() if not m.always(): if not any(m(f) for f in ctx.files()): return 'outsidenarrow' return '' @revsetpredicate('ellipsis') def ellipsisrevset(repo, subset, x): """Changesets that are ellipsis nodes.""" return subset.filter(lambda r: _isellipsis(repo, r))