diff -r 5a7cf42ba6ef -r 5989261a8356 mercurial/hgweb/webutil.py --- a/mercurial/hgweb/webutil.py Wed May 16 22:44:27 2018 -0400 +++ b/mercurial/hgweb/webutil.py Thu May 17 12:23:38 2018 -0700 @@ -457,6 +457,22 @@ ) return entry +def changelistentries(web, revs, maxcount, parityfn): + """Emit up to N records for an iterable of revisions.""" + repo = web.repo + + count = 0 + for rev in revs: + if count >= maxcount: + break + + count += 1 + + entry = changelistentry(web, repo[rev]) + entry['parity'] = next(parityfn) + + yield entry + def symrevorshortnode(req, ctx): if 'node' in req.qsparams: return templatefilters.revescape(req.qsparams['node'])