Mercurial > hg
annotate hgext/narrow/narrowtemplates.py @ 36439:02cd2fb6de72
narrow: drop redundant templatekw/revset names from help text
":<name>:" is automatically added by the registrar.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 25 Feb 2018 13:42:51 +0900 |
parents | ea02be8665ef |
children | d0d5eef57fb0 |
rev | line source |
---|---|
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 # narrowtemplates.py - added template keywords for narrow clones |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 # |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 # Copyright 2017 Google, Inc. |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 # |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 from __future__ import absolute_import |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 from mercurial import ( |
36091
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
11 registrar, |
36090
9445a3141501
narrow: move from ELLIPSIS_NODE_FLAG to revlog.REVIDX_ELLIPSIS
Augie Fackler <augie@google.com>
parents:
36079
diff
changeset
|
12 revlog, |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
13 util, |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
14 ) |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
15 |
36091
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
16 keywords = {} |
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
17 templatekeyword = registrar.templatekeyword(keywords) |
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
18 revsetpredicate = registrar.revsetpredicate() |
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
19 |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
20 def _isellipsis(repo, rev): |
36090
9445a3141501
narrow: move from ELLIPSIS_NODE_FLAG to revlog.REVIDX_ELLIPSIS
Augie Fackler <augie@google.com>
parents:
36079
diff
changeset
|
21 if repo.changelog.flags(rev) & revlog.REVIDX_ELLIPSIS: |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
22 return True |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
23 return False |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
24 |
36091
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
25 @templatekeyword('ellipsis') |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
26 def ellipsis(repo, ctx, templ, **args): |
36439
02cd2fb6de72
narrow: drop redundant templatekw/revset names from help text
Yuya Nishihara <yuya@tcha.org>
parents:
36091
diff
changeset
|
27 """String. 'ellipsis' if the change is an ellipsis node, else ''.""" |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
28 if _isellipsis(repo, ctx.rev()): |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
29 return 'ellipsis' |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
30 return '' |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
31 |
36091
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
32 @templatekeyword('outsidenarrow') |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
33 def outsidenarrow(repo, ctx, templ, **args): |
36439
02cd2fb6de72
narrow: drop redundant templatekw/revset names from help text
Yuya Nishihara <yuya@tcha.org>
parents:
36091
diff
changeset
|
34 """String. 'outsidenarrow' if the change affects no tracked files, |
02cd2fb6de72
narrow: drop redundant templatekw/revset names from help text
Yuya Nishihara <yuya@tcha.org>
parents:
36091
diff
changeset
|
35 else ''.""" |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
36 if util.safehasattr(repo, 'narrowmatch'): |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
37 m = repo.narrowmatch() |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
38 if not any(m(f) for f in ctx.files()): |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
39 return 'outsidenarrow' |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
40 return '' |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
41 |
36091
ea02be8665ef
narrowtemplates: update to use registrar mechanism
Augie Fackler <augie@google.com>
parents:
36090
diff
changeset
|
42 @revsetpredicate('ellipsis') |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
43 def ellipsisrevset(repo, subset, x): |
36439
02cd2fb6de72
narrow: drop redundant templatekw/revset names from help text
Yuya Nishihara <yuya@tcha.org>
parents:
36091
diff
changeset
|
44 """Changesets that are ellipsis nodes.""" |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
45 return subset.filter(lambda r: _isellipsis(repo, r)) |