mercurial/hgweb.py
changeset 1703 41d884f741ca
parent 1653 e8a3df8b62b3
child 1736 50de0887bbcd
child 1777 a2316878f19d
child 1829 b0f6af327fd4
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))