mercurial/revset.py
branchstable
changeset 41297 b1ea90613af3
parent 41276 5affe1583e1d
child 41359 431cf2c8c839
equal deleted inserted replaced
41296:d82dd55024e7 41297:b1ea90613af3
  1763         raise error.ParseError(_("rev expects a number"))
  1763         raise error.ParseError(_("rev expects a number"))
  1764     if l not in repo.changelog and l not in (node.nullrev, node.wdirrev):
  1764     if l not in repo.changelog and l not in (node.nullrev, node.wdirrev):
  1765         return baseset()
  1765         return baseset()
  1766     return subset & baseset([l])
  1766     return subset & baseset([l])
  1767 
  1767 
       
  1768 @predicate('_rev(number)', safe=True)
       
  1769 def _rev(repo, subset, x):
       
  1770     # internal version of "rev(x)" that raise error if "x" is invalid
       
  1771     # i18n: "rev" is a keyword
       
  1772     l = getargs(x, 1, 1, _("rev requires one argument"))
       
  1773     try:
       
  1774         # i18n: "rev" is a keyword
       
  1775         l = int(getstring(l[0], _("rev requires a number")))
       
  1776     except (TypeError, ValueError):
       
  1777         # i18n: "rev" is a keyword
       
  1778         raise error.ParseError(_("rev expects a number"))
       
  1779     repo.changelog.node(l) # check that the rev exists
       
  1780     return subset & baseset([l])
       
  1781 
  1768 @predicate('revset(set)', safe=True, takeorder=True)
  1782 @predicate('revset(set)', safe=True, takeorder=True)
  1769 def revsetpredicate(repo, subset, x, order):
  1783 def revsetpredicate(repo, subset, x, order):
  1770     """Strictly interpret the content as a revset.
  1784     """Strictly interpret the content as a revset.
  1771 
  1785 
  1772     The content of this special predicate will be strictly interpreted as a
  1786     The content of this special predicate will be strictly interpreted as a