Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb.py @ 173:8da1df932c16
hgweb: make navigation of changesets a bit nicer
author | mpm@selenic.com |
---|---|
date | Thu, 26 May 2005 22:47:43 -0800 |
parents | e9b1147db448 |
children | f25944662097 |
comparison
equal
deleted
inserted
replaced
172:e9b1147db448 | 173:8da1df932c16 |
---|---|
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 |