diff -r 66399f2e92aa -r 59638c6fcb70 mercurial/revsetlang.py --- a/mercurial/revsetlang.py Thu Jan 31 14:47:34 2019 -0800 +++ b/mercurial/revsetlang.py Sun Jan 27 13:18:53 2019 +0900 @@ -240,6 +240,15 @@ return None, None raise error.ParseError(err) +def getintrange(x, err1, err2, deffirst=_notset, deflast=_notset): + """Get [first, last] integer range (both inclusive) from a parsed tree + + If any of the sides omitted, and if no default provided, ParseError will + be raised. + """ + a, b = getrange(x, err1) + return getinteger(a, err2, deffirst), getinteger(b, err2, deflast) + def getargs(x, min, max, err): l = getlist(x) if len(l) < min or (max >= 0 and len(l) > max):