equal
deleted
inserted
replaced
10 import heapq |
10 import heapq |
11 import re |
11 import re |
12 |
12 |
13 from .i18n import _ |
13 from .i18n import _ |
14 from . import ( |
14 from . import ( |
|
15 destutil, |
15 encoding, |
16 encoding, |
16 error, |
17 error, |
17 hbisect, |
18 hbisect, |
18 match as matchmod, |
19 match as matchmod, |
19 node, |
20 node, |
461 syms = [s for (s, fn) in symbols.items() if keep(fn)] |
462 syms = [s for (s, fn) in symbols.items() if keep(fn)] |
462 raise error.UnknownIdentifier(a[1], syms) |
463 raise error.UnknownIdentifier(a[1], syms) |
463 |
464 |
464 # functions |
465 # functions |
465 |
466 |
|
467 def _destupdate(repo, subset, x): |
|
468 # experimental revset for update destination |
|
469 args = getargsdict(x, 'limit', 'clean check') |
|
470 return subset & baseset([destutil.destupdate(repo, **args)[0]]) |
|
471 |
466 def _mergedefaultdest(repo, subset, x): |
472 def _mergedefaultdest(repo, subset, x): |
467 # ``_mergedefaultdest()`` |
473 # ``_mergedefaultdest()`` |
468 |
474 |
469 # default destination for merge. |
475 # default destination for merge. |
470 # # XXX: Currently private because I expect the signature to change. |
476 # # XXX: Currently private because I expect the signature to change. |
2140 ls = [cl.rev(node.bin(r)) for r in s.split('\0')] |
2146 ls = [cl.rev(node.bin(r)) for r in s.split('\0')] |
2141 s = subset |
2147 s = subset |
2142 return baseset([r for r in ls if r in s]) |
2148 return baseset([r for r in ls if r in s]) |
2143 |
2149 |
2144 symbols = { |
2150 symbols = { |
|
2151 "_destupdate": _destupdate, |
2145 "_mergedefaultdest": _mergedefaultdest, |
2152 "_mergedefaultdest": _mergedefaultdest, |
2146 "adds": adds, |
2153 "adds": adds, |
2147 "all": getall, |
2154 "all": getall, |
2148 "ancestor": ancestor, |
2155 "ancestor": ancestor, |
2149 "ancestors": ancestors, |
2156 "ancestors": ancestors, |