comparison mercurial/hgweb/webcommands.py @ 18497:a58d8936647a stable

hgweb: prevent traceback during search when filtered (issue3783) The search needs to iterate over the repo using changelog.revs like the rest of the Mercurial code.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Tue, 29 Jan 2013 16:44:51 +0100
parents 886936ecc21b
children 66ae2ded0968
comparison
equal deleted inserted replaced
18496:d1c13a4dc638 18497:a58d8936647a
127 count = 0 127 count = 0
128 lower = encoding.lower 128 lower = encoding.lower
129 qw = lower(query).split() 129 qw = lower(query).split()
130 130
131 def revgen(): 131 def revgen():
132 cl = web.repo.changelog
132 for i in xrange(len(web.repo) - 1, 0, -100): 133 for i in xrange(len(web.repo) - 1, 0, -100):
133 l = [] 134 l = []
134 for j in xrange(max(0, i - 100), i + 1): 135 for j in cl.revs(max(0, i - 100), i + 1):
135 ctx = web.repo[j] 136 ctx = web.repo[j]
136 l.append(ctx) 137 l.append(ctx)
137 l.reverse() 138 l.reverse()
138 for e in l: 139 for e in l:
139 yield e 140 yield e