diff mercurial/revset.py @ 41575:59638c6fcb70

revset: extract a helper to parse integer range It's getting common. As a first step, this patch adds getintrange() and makes followlines() use it. I wanted to unify the error messages to make the function interface simple, but I failed to phrase it briefly.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 27 Jan 2019 13:18:53 +0900
parents 0bd56c291359
children 1c04894e8fe1
line wrap: on
line diff
--- a/mercurial/revset.py	Thu Jan 31 14:47:34 2019 -0800
+++ b/mercurial/revset.py	Sun Jan 27 13:18:53 2019 +0900
@@ -44,6 +44,7 @@
 getboolean = revsetlang.getboolean
 getlist = revsetlang.getlist
 getrange = revsetlang.getrange
+getintrange = revsetlang.getintrange
 getargs = revsetlang.getargs
 getargsdict = revsetlang.getargsdict
 
@@ -1067,11 +1068,11 @@
     # i18n: "followlines" is a keyword
     msg = _("followlines expects exactly one file")
     fname = scmutil.parsefollowlinespattern(repo, rev, pat, msg)
-    # i18n: "followlines" is a keyword
-    lr = getrange(args['lines'][0], _("followlines expects a line range"))
-    fromline, toline = [getinteger(a, _("line range bounds must be integers"))
-                        for a in lr]
-    fromline, toline = util.processlinerange(fromline, toline)
+    fromline, toline = util.processlinerange(
+        *getintrange(args['lines'][0],
+                     # i18n: "followlines" is a keyword
+                     _("followlines expects a line range"),
+                     _("line range bounds must be integers")))
 
     fctx = repo[rev].filectx(fname)
     descend = False