Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/webcommands.py @ 12059:0de6cfdcaad8
webcommands: remove unncessary access to repo.changelog
changectx are good enough in these cases and their interface is more stable.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Thu, 26 Aug 2010 23:38:13 +0200 |
parents | 716e176a4e01 |
children | 516b000fbb7e |
comparison
equal
deleted
inserted
replaced
12058:1ef70bdd1e62 | 12059:0de6cfdcaad8 |
---|---|
114 morevars = copy.copy(tmpl.defaults['sessionvars']) | 114 morevars = copy.copy(tmpl.defaults['sessionvars']) |
115 morevars['revcount'] = revcount * 2 | 115 morevars['revcount'] = revcount * 2 |
116 morevars['rev'] = query | 116 morevars['rev'] = query |
117 | 117 |
118 def changelist(**map): | 118 def changelist(**map): |
119 cl = web.repo.changelog | |
120 count = 0 | 119 count = 0 |
121 qw = query.lower().split() | 120 qw = query.lower().split() |
122 | 121 |
123 def revgen(): | 122 def revgen(): |
124 for i in xrange(len(cl) - 1, 0, -100): | 123 for i in xrange(len(web.repo) - 1, 0, -100): |
125 l = [] | 124 l = [] |
126 for j in xrange(max(0, i - 100), i + 1): | 125 for j in xrange(max(0, i - 100), i + 1): |
127 ctx = web.repo[j] | 126 ctx = web.repo[j] |
128 l.append(ctx) | 127 l.append(ctx) |
129 l.reverse() | 128 l.reverse() |
162 branches=webutil.nodebranchdict(web.repo, ctx)) | 161 branches=webutil.nodebranchdict(web.repo, ctx)) |
163 | 162 |
164 if count >= revcount: | 163 if count >= revcount: |
165 break | 164 break |
166 | 165 |
167 cl = web.repo.changelog | 166 tip = web.repo['tip'] |
168 parity = paritygen(web.stripecount) | 167 parity = paritygen(web.stripecount) |
169 | 168 |
170 return tmpl('search', query=query, node=hex(cl.tip()), | 169 return tmpl('search', query=query, node=tip.hex(), |
171 entries=changelist, archives=web.archivelist("tip"), | 170 entries=changelist, archives=web.archivelist("tip"), |
172 morevars=morevars, lessvars=lessvars) | 171 morevars=morevars, lessvars=lessvars) |
173 | 172 |
174 def changelog(web, req, tmpl, shortlog=False): | 173 def changelog(web, req, tmpl, shortlog=False): |
175 | 174 |
222 lessvars = copy.copy(tmpl.defaults['sessionvars']) | 221 lessvars = copy.copy(tmpl.defaults['sessionvars']) |
223 lessvars['revcount'] = revcount / 2 | 222 lessvars['revcount'] = revcount / 2 |
224 morevars = copy.copy(tmpl.defaults['sessionvars']) | 223 morevars = copy.copy(tmpl.defaults['sessionvars']) |
225 morevars['revcount'] = revcount * 2 | 224 morevars['revcount'] = revcount * 2 |
226 | 225 |
227 cl = web.repo.changelog | 226 count = len(web.repo) |
228 count = len(cl) | |
229 pos = ctx.rev() | 227 pos = ctx.rev() |
230 start = max(0, pos - revcount + 1) | 228 start = max(0, pos - revcount + 1) |
231 end = min(count, start + revcount) | 229 end = min(count, start + revcount) |
232 pos = end - 1 | 230 pos = end - 1 |
233 parity = paritygen(web.stripecount, offset=start - end) | 231 parity = paritygen(web.stripecount, offset=start - end) |
465 inbranch=webutil.nodeinbranch(web.repo, ctx), | 463 inbranch=webutil.nodeinbranch(web.repo, ctx), |
466 branches=webutil.nodebranchdict(web.repo, ctx))) | 464 branches=webutil.nodebranchdict(web.repo, ctx))) |
467 | 465 |
468 yield l | 466 yield l |
469 | 467 |
470 cl = web.repo.changelog | 468 tip = web.repo['tip'] |
471 count = len(cl) | 469 count = len(web.repo) |
472 start = max(0, count - web.maxchanges) | 470 start = max(0, count - web.maxchanges) |
473 end = min(count, start + web.maxchanges) | 471 end = min(count, start + web.maxchanges) |
474 | 472 |
475 return tmpl("summary", | 473 return tmpl("summary", |
476 desc=web.config("web", "description", "unknown"), | 474 desc=web.config("web", "description", "unknown"), |
477 owner=get_contact(web.config) or "unknown", | 475 owner=get_contact(web.config) or "unknown", |
478 lastchange=cl.read(cl.tip())[2], | 476 lastchange=tip.date(), |
479 tags=tagentries, | 477 tags=tagentries, |
480 branches=branches, | 478 branches=branches, |
481 shortlog=changelist, | 479 shortlog=changelist, |
482 node=hex(cl.tip()), | 480 node=tip.hex(), |
483 archives=web.archivelist("tip")) | 481 archives=web.archivelist("tip")) |
484 | 482 |
485 def filediff(web, req, tmpl): | 483 def filediff(web, req, tmpl): |
486 fctx, ctx = None, None | 484 fctx, ctx = None, None |
487 try: | 485 try: |