diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py --- a/mercurial/hgweb/webutil.py +++ b/mercurial/hgweb/webutil.py @@ -509,12 +509,16 @@ def changesetentry(web, ctx): archives=web.archivelist(ctx.hex()), **pycompat.strkwargs(commonentry(web.repo, ctx))) -def listfilediffs(tmpl, files, node, max): +def _listfilediffsgen(context, tmpl, files, node, max): for f in files[:max]: yield tmpl.generate('filedifflink', {'node': hex(node), 'file': f}) if len(files) > max: yield tmpl.generate('fileellipses', {}) +def listfilediffs(tmpl, files, node, max): + return templateutil.mappedgenerator(_listfilediffsgen, + args=(tmpl, files, node, max)) + def diffs(web, ctx, basectx, files, style, linerange=None, lineidprefix=''):