comparison mercurial/hgweb/webcommands.py @ 8842:acd03a6e2426

graphmod/webcommands: use generic DAG walks Changes graph() to colorededges(), which operates on the new generic DAG walks and adds color and edge information needed by the web graph. This is in preparation of adding DAG walk filters, like the linear run collapser in the next patch. The idea is to have a bunch of changelog walkers that return basic data. Then we can filter this data. Finally we add edge and formatting info suitable for the output media we want to target (glog, hgweb).
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Fri, 19 Jun 2009 13:44:23 +0200
parents 2bcef677a6c3
children 31177742f54a 5d49fdef6fd0
comparison
equal deleted inserted replaced
8841:94ac080e7af9 8842:acd03a6e2426
666 uprev = min(max_rev, rev + revcount) 666 uprev = min(max_rev, rev + revcount)
667 downrev = max(0, rev - revcount) 667 downrev = max(0, rev - revcount)
668 count = len(web.repo) 668 count = len(web.repo)
669 changenav = webutil.revnavgen(rev, revcount, count, web.repo.changectx) 669 changenav = webutil.revnavgen(rev, revcount, count, web.repo.changectx)
670 670
671 tree = list(graphmod.graph(web.repo, rev, downrev)) 671 dag = graphmod.revisions(web.repo, rev, downrev)
672 tree = list(graphmod.colored(dag))
672 canvasheight = (len(tree) + 1) * bg_height - 27; 673 canvasheight = (len(tree) + 1) * bg_height - 27;
673 data = [] 674 data = []
674 for (ctx, vtx, edges) in tree: 675 for (id, type, ctx, vtx, edges) in tree:
676 if type != graphmod.CHANGESET:
677 continue
675 node = short(ctx.node()) 678 node = short(ctx.node())
676 age = templatefilters.age(ctx.date()) 679 age = templatefilters.age(ctx.date())
677 desc = templatefilters.firstline(ctx.description()) 680 desc = templatefilters.firstline(ctx.description())
678 desc = cgi.escape(templatefilters.nonempty(desc)) 681 desc = cgi.escape(templatefilters.nonempty(desc))
679 user = cgi.escape(templatefilters.person(ctx.user())) 682 user = cgi.escape(templatefilters.person(ctx.user()))