Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revset.py @ 31667:080734cd2440
revset: factor out linerange processing into a utility function
Similar processing will be done in hgweb.webutil in forthcoming changeset.
author | Denis Laxalde <denis.laxalde@logilab.fr> |
---|---|
date | Fri, 24 Feb 2017 18:39:08 +0100 |
parents | 0e07855e6054 |
children | 35b8bb1ef02b |
comparison
equal
deleted
inserted
replaced
31666:f36dc643ffdc | 31667:080734cd2440 |
---|---|
943 fname = files[0] | 943 fname = files[0] |
944 | 944 |
945 lr = getrange(args['lines'][0], _("followlines expects a line range")) | 945 lr = getrange(args['lines'][0], _("followlines expects a line range")) |
946 fromline, toline = [getinteger(a, _("line range bounds must be integers")) | 946 fromline, toline = [getinteger(a, _("line range bounds must be integers")) |
947 for a in lr] | 947 for a in lr] |
948 if toline - fromline < 0: | 948 fromline, toline = util.processlinerange(fromline, toline) |
949 raise error.ParseError(_("line range must be positive")) | |
950 if fromline < 1: | |
951 raise error.ParseError(_("fromline must be strictly positive")) | |
952 fromline -= 1 | |
953 | 949 |
954 fctx = repo[rev].filectx(fname) | 950 fctx = repo[rev].filectx(fname) |
955 revs = (c.rev() for c, _linerange | 951 revs = (c.rev() for c, _linerange |
956 in context.blockancestors(fctx, fromline, toline)) | 952 in context.blockancestors(fctx, fromline, toline)) |
957 return subset & generatorset(revs, iterasc=False) | 953 return subset & generatorset(revs, iterasc=False) |