197 |
197 |
198 def changelog(self, pos=None): |
198 def changelog(self, pos=None): |
199 def changenav(): |
199 def changenav(): |
200 def seq(factor = 1): |
200 def seq(factor = 1): |
201 yield 1 * factor |
201 yield 1 * factor |
202 yield 2 * factor |
202 yield 3 * factor |
203 yield 5 * factor |
203 #yield 5 * factor |
204 for f in seq(factor * 10): |
204 for f in seq(factor * 10): |
205 yield f |
205 yield f |
|
206 |
|
207 l = [] |
|
208 for f in seq(): |
|
209 if f < self.maxchanges / 2: continue |
|
210 if f > count: break |
|
211 r = "%d" % f |
|
212 if pos + f < count - (f/2): l.append(("+" + r, pos + f)) |
|
213 if pos - f >= 0 + (f/2): l.insert(0, ("-" + r, pos - f)) |
|
214 |
|
215 yield self.t("naventry", rev = 0, label="(0)") |
206 |
216 |
207 linear = range(0, count - 2, self.maxchanges)[0:8] |
217 for label, rev in l: |
208 |
218 yield self.t("naventry", label = label, rev = rev) |
209 for i in linear: |
219 |
210 yield self.t("naventry", rev = max(i, 1)) |
220 yield self.t("naventry", rev = count - 1, label="tip") |
211 |
|
212 for s in seq(): |
|
213 if s > count - 2: break |
|
214 if s > linear[-1]: |
|
215 yield self.t("naventry", rev = s) |
|
216 |
|
217 yield self.t("naventry", rev = count - 1) |
|
218 |
221 |
219 def changelist(): |
222 def changelist(): |
220 parity = (start - end) & 1 |
223 parity = (start - end) & 1 |
221 cl = self.repo.changelog |
224 cl = self.repo.changelog |
222 l = [] # build a list in forward order for efficiency |
225 l = [] # build a list in forward order for efficiency |