mercurial/revset.py
changeset 15116 d8501bcbb221
parent 14901 a773119f30ba
child 15117 0ab1c3a1f3b2
equal deleted inserted replaced
15115:c84b3f42d5ae 15116:d8501bcbb221
   511         if kw in t.lower():
   511         if kw in t.lower():
   512             l.append(r)
   512             l.append(r)
   513     return l
   513     return l
   514 
   514 
   515 def limit(repo, subset, x):
   515 def limit(repo, subset, x):
   516     """``limit(set, n)``
   516     """``limit(set, [n])``
   517     First n members of set.
   517     First n members of set, defaulting to 1.
   518     """
   518     """
   519     # i18n: "limit" is a keyword
   519     # i18n: "limit" is a keyword
   520     l = getargs(x, 2, 2, _("limit requires two arguments"))
   520     l = getargs(x, 1, 2, _("limit requires one or two arguments"))
   521     try:
   521     try:
   522         # i18n: "limit" is a keyword
   522         lim = 1
   523         lim = int(getstring(l[1], _("limit requires a number")))
   523         if len(l) == 2:
       
   524             # i18n: "limit" is a keyword
       
   525             lim = int(getstring(l[1], _("limit requires a number")))
   524     except (TypeError, ValueError):
   526     except (TypeError, ValueError):
   525         # i18n: "limit" is a keyword
   527         # i18n: "limit" is a keyword
   526         raise error.ParseError(_("limit expects a number"))
   528         raise error.ParseError(_("limit expects a number"))
   527     ss = set(subset)
   529     ss = set(subset)
   528     os = getset(repo, range(len(repo)), l[0])[:lim]
   530     os = getset(repo, range(len(repo)), l[0])[:lim]
   529     return [r for r in os if r in ss]
   531     return [r for r in os if r in ss]
   530 
   532 
   531 def last(repo, subset, x):
   533 def last(repo, subset, x):
   532     """``last(set, n)``
   534     """``last(set, [n])``
   533     Last n members of set.
   535     Last n members of set, defaulting to 1.
   534     """
   536     """
   535     # i18n: "last" is a keyword
   537     # i18n: "last" is a keyword
   536     l = getargs(x, 2, 2, _("last requires two arguments"))
   538     l = getargs(x, 1, 2, _("last requires one or two arguments"))
   537     try:
   539     try:
   538         # i18n: "last" is a keyword
   540         lim = 1
   539         lim = int(getstring(l[1], _("last requires a number")))
   541         if len(l) == 2:
       
   542             # i18n: "last" is a keyword
       
   543             lim = int(getstring(l[1], _("last requires a number")))
   540     except (TypeError, ValueError):
   544     except (TypeError, ValueError):
   541         # i18n: "last" is a keyword
   545         # i18n: "last" is a keyword
   542         raise error.ParseError(_("last expects a number"))
   546         raise error.ParseError(_("last expects a number"))
   543     ss = set(subset)
   547     ss = set(subset)
   544     os = getset(repo, range(len(repo)), l[0])[-lim:]
   548     os = getset(repo, range(len(repo)), l[0])[-lim:]