# HG changeset patch # User Brodie Rao # Date 1379318909 25200 # Node ID 9985e188d9401ad2c85ade32b4de4ed4d4375b66 # Parent 7d40e706412c54811158a4c0cd7826ee252b12b3 hgweb: simplify branches with repo.branchmap().iterbranches() diff -r 7d40e706412c -r 9985e188d940 mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py Mon Sep 16 01:08:29 2013 -0700 +++ b/mercurial/hgweb/webcommands.py Mon Sep 16 01:08:29 2013 -0700 @@ -537,18 +537,18 @@ tips = [] heads = web.repo.heads() parity = paritygen(web.stripecount) - sortkey = lambda ctx: (not ctx.closesbranch(), ctx.rev()) + sortkey = lambda item: (not item[1], item[0].rev()) def entries(limit, **map): count = 0 if not tips: - for t, n in web.repo.branchtags().iteritems(): - tips.append(web.repo[n]) - for ctx in sorted(tips, key=sortkey, reverse=True): + for tag, hs, tip, closed in web.repo.branchmap().iterbranches(): + tips.append((web.repo[tip], closed)) + for ctx, closed in sorted(tips, key=sortkey, reverse=True): if limit > 0 and count >= limit: return count += 1 - if not web.repo.branchheads(ctx.branch()): + if closed: status = 'closed' elif ctx.node() not in heads: status = 'inactive'