# HG changeset patch # User Denis Laxalde # Date 1489398019 -3600 # Node ID c2dbd818e884654ee71076217f7ff979688cbc6c # Parent 0eec36112e5886168ccc20d3def8c58aedebf028 hgweb: handle "parity" internally in webutil.diffs() There's apparently no reason to have the "parity" of diff blocks that webutil.diffs() generates coming from outside the function. So have it internally managed. We thus now pass a "web" object to webutil.diffs() to get access to both "repo" and "stripecount" attribute. diff -r 0eec36112e58 -r c2dbd818e884 mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py Mon Mar 27 09:44:36 2017 +0900 +++ b/mercurial/hgweb/webcommands.py Mon Mar 13 10:40:19 2017 +0100 @@ -756,12 +756,11 @@ ctx = fctx.changectx() basectx = ctx.p1() - parity = paritygen(web.stripecount) style = web.config('web', 'style', 'paper') if 'style' in req.form: style = req.form['style'][0] - diffs = webutil.diffs(web.repo, tmpl, ctx, basectx, [path], parity, style) + diffs = webutil.diffs(web, tmpl, ctx, basectx, [path], style) if fctx is not None: rename = webutil.renamelink(fctx) ctx = fctx diff -r 0eec36112e58 -r c2dbd818e884 mercurial/hgweb/webutil.py --- a/mercurial/hgweb/webutil.py Mon Mar 27 09:44:36 2017 +0900 +++ b/mercurial/hgweb/webutil.py Mon Mar 13 10:40:19 2017 +0100 @@ -388,8 +388,7 @@ if 'style' in req.form: style = req.form['style'][0] - parity = paritygen(web.stripecount) - diff = diffs(web.repo, tmpl, ctx, basectx, None, parity, style) + diff = diffs(web, tmpl, ctx, basectx, None, style) parity = paritygen(web.stripecount) diffstatsgen = diffstatgen(ctx, basectx) @@ -414,7 +413,7 @@ if len(files) > max: yield tmpl('fileellipses') -def diffs(repo, tmpl, ctx, basectx, files, parity, style): +def diffs(web, tmpl, ctx, basectx, files, style): def prettyprintlines(lines, blockno): for lineno, l in enumerate(lines, 1): @@ -433,6 +432,7 @@ lineid="l%s" % difflineno, linenumber="% 8s" % difflineno) + repo = web.repo if files: m = match.exact(repo.root, repo.getcwd(), files) else: @@ -441,6 +441,7 @@ diffopts = patch.diffopts(repo.ui, untrusted=True) node1 = basectx.node() node2 = ctx.node() + parity = paritygen(web.stripecount) diffhunks = patch.diffhunks(repo, node1, node2, m, opts=diffopts) for blockno, (header, hunks) in enumerate(diffhunks, 1):