Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hgweb.py @ 1703:41d884f741ca
fix changenav for maxchanges != 10
for maxchanges = 25 the changelog navigation had a minimum
stepsize of 30; try to calculate more useful navigation steps
author | Johannes Stezenbach <js@linuxtv.org> |
---|---|
date | Mon, 06 Feb 2006 17:34:53 -0600 |
parents | e8a3df8b62b3 |
children | 50de0887bbcd a2316878f19d b0f6af327fd4 |
comparison
equal
deleted
inserted
replaced
1702:e291d9a30bef | 1703:41d884f741ca |
---|---|
296 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, | 296 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
297 showfunc=showfunc, ignorews=ignorews), f, tn) | 297 showfunc=showfunc, ignorews=ignorews), f, tn) |
298 | 298 |
299 def changelog(self, pos): | 299 def changelog(self, pos): |
300 def changenav(**map): | 300 def changenav(**map): |
301 def seq(factor=1): | 301 def seq(factor, maxchanges=None): |
302 yield 1 * factor | 302 if maxchanges: |
303 yield 3 * factor | 303 yield maxchanges |
304 #yield 5 * factor | 304 if maxchanges >= 20 and maxchanges <= 40: |
305 yield 50 | |
306 else: | |
307 yield 1 * factor | |
308 yield 3 * factor | |
305 for f in seq(factor * 10): | 309 for f in seq(factor * 10): |
306 yield f | 310 yield f |
307 | 311 |
308 l = [] | 312 l = [] |
309 for f in seq(): | 313 last = 0 |
310 if f < self.maxchanges / 2: | 314 for f in seq(1, self.maxchanges): |
315 if f < self.maxchanges or f <= last: | |
311 continue | 316 continue |
312 if f > count: | 317 if f > count: |
313 break | 318 break |
319 last = f | |
314 r = "%d" % f | 320 r = "%d" % f |
315 if pos + f < count: | 321 if pos + f < count: |
316 l.append(("+" + r, pos + f)) | 322 l.append(("+" + r, pos + f)) |
317 if pos - f >= 0: | 323 if pos - f >= 0: |
318 l.insert(0, ("-" + r, pos - f)) | 324 l.insert(0, ("-" + r, pos - f)) |