comparison mercurial/revset.py @ 20498:fb2df4506c87

revset: add an undocumented _missingancestors function This will be used in an upcoming patch to optimize expressions of the form (::x - ::y).
author Siddharth Agarwal <sid0@fb.com>
date Thu, 13 Feb 2014 13:54:45 -0800
parents 0f1ef9e9e904
children 2efd608473fb
comparison
equal deleted inserted replaced
20497:19b1c62cee1c 20498:fb2df4506c87
1019 m = min(os) 1019 m = min(os)
1020 if m in subset: 1020 if m in subset:
1021 return baseset([m]) 1021 return baseset([m])
1022 return baseset([]) 1022 return baseset([])
1023 1023
1024 def _missingancestors(repo, subset, x):
1025 # i18n: "_missingancestors" is a keyword
1026 revs, bases = getargs(x, 2, 2,
1027 _("_missingancestors requires two arguments"))
1028 rs = baseset(repo)
1029 revs = getset(repo, rs, revs)
1030 bases = getset(repo, rs, bases)
1031 missing = set(repo.changelog.findmissingrevs(bases, revs))
1032 return baseset([r for r in subset if r in missing])
1033
1024 def modifies(repo, subset, x): 1034 def modifies(repo, subset, x):
1025 """``modifies(pattern)`` 1035 """``modifies(pattern)``
1026 Changesets modifying files matched by pattern. 1036 Changesets modifying files matched by pattern.
1027 1037
1028 The pattern without explicit kind like ``glob:`` is expected to be 1038 The pattern without explicit kind like ``glob:`` is expected to be
1600 "limit": limit, 1610 "limit": limit,
1601 "_matchfiles": _matchfiles, 1611 "_matchfiles": _matchfiles,
1602 "max": maxrev, 1612 "max": maxrev,
1603 "merge": merge, 1613 "merge": merge,
1604 "min": minrev, 1614 "min": minrev,
1615 "_missingancestors": _missingancestors,
1605 "modifies": modifies, 1616 "modifies": modifies,
1606 "obsolete": obsolete, 1617 "obsolete": obsolete,
1607 "origin": origin, 1618 "origin": origin,
1608 "outgoing": outgoing, 1619 "outgoing": outgoing,
1609 "p1": p1, 1620 "p1": p1,
1669 "limit", 1680 "limit",
1670 "_matchfiles", 1681 "_matchfiles",
1671 "max", 1682 "max",
1672 "merge", 1683 "merge",
1673 "min", 1684 "min",
1685 "_missingancestors",
1674 "modifies", 1686 "modifies",
1675 "obsolete", 1687 "obsolete",
1676 "origin", 1688 "origin",
1677 "outgoing", 1689 "outgoing",
1678 "p1", 1690 "p1",