Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/hgweb_mod.py @ 3973:b485a4459d96
hgweb: use contexts, fix coding style
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 26 Dec 2006 03:16:54 +0100 |
parents | ea238a4e9e8b |
children | a3aa97171546 |
comparison
equal
deleted
inserted
replaced
3972:356e20d46b34 | 3973:b485a4459d96 |
---|---|
166 yield self.t("difflineat", line=l) | 166 yield self.t("difflineat", line=l) |
167 else: | 167 else: |
168 yield self.t("diffline", line=l) | 168 yield self.t("diffline", line=l) |
169 | 169 |
170 r = self.repo | 170 r = self.repo |
171 cl = r.changelog | 171 c1 = r.changectx(node1) |
172 mf = r.manifest | 172 c2 = r.changectx(node2) |
173 change1 = cl.read(node1) | 173 date1 = util.datestr(c1.date()) |
174 change2 = cl.read(node2) | 174 date2 = util.datestr(c2.date()) |
175 mmap1 = mf.read(change1[0]) | |
176 mmap2 = mf.read(change2[0]) | |
177 date1 = util.datestr(change1[2]) | |
178 date2 = util.datestr(change2[2]) | |
179 | 175 |
180 modified, added, removed, deleted, unknown = r.status(node1, node2)[:5] | 176 modified, added, removed, deleted, unknown = r.status(node1, node2)[:5] |
181 if files: | 177 if files: |
182 modified, added, removed = map(lambda x: filterfiles(files, x), | 178 modified, added, removed = map(lambda x: filterfiles(files, x), |
183 (modified, added, removed)) | 179 (modified, added, removed)) |
184 | 180 |
185 diffopts = patch.diffopts(self.repo.ui, untrusted=True) | 181 diffopts = patch.diffopts(self.repo.ui, untrusted=True) |
186 for f in modified: | 182 for f in modified: |
187 to = r.file(f).read(mmap1[f]) | 183 to = c1.filectx(f).data() |
188 tn = r.file(f).read(mmap2[f]) | 184 tn = c2.filectx(f).data() |
189 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, | 185 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
190 opts=diffopts), f, tn) | 186 opts=diffopts), f, tn) |
191 for f in added: | 187 for f in added: |
192 to = None | 188 to = None |
193 tn = r.file(f).read(mmap2[f]) | 189 tn = c2.filectx(f).data() |
194 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, | 190 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
195 opts=diffopts), f, tn) | 191 opts=diffopts), f, tn) |
196 for f in removed: | 192 for f in removed: |
197 to = r.file(f).read(mmap1[f]) | 193 to = c1.filectx(f).data() |
198 tn = None | 194 tn = None |
199 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, | 195 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
200 opts=diffopts), f, tn) | 196 opts=diffopts), f, tn) |
201 | 197 |
202 def changelog(self, ctx, shortlog=False): | 198 def changelog(self, ctx, shortlog=False): |
491 fentries=filelist, | 487 fentries=filelist, |
492 dentries=dirlist, | 488 dentries=dirlist, |
493 archives=self.archivelist(hex(node))) | 489 archives=self.archivelist(hex(node))) |
494 | 490 |
495 def tags(self): | 491 def tags(self): |
496 cl = self.repo.changelog | |
497 | |
498 i = self.repo.tagslist() | 492 i = self.repo.tagslist() |
499 i.reverse() | 493 i.reverse() |
500 | 494 |
501 def entries(notip=False, **map): | 495 def entries(notip=False, **map): |
502 parity = 0 | 496 parity = 0 |
503 for k, n in i: | 497 for k, n in i: |
504 if notip and k == "tip": | 498 if notip and k == "tip": |
505 continue | 499 continue |
506 yield {"parity": self.stripes(parity), | 500 yield {"parity": self.stripes(parity), |
507 "tag": k, | 501 "tag": k, |
508 "date": cl.read(n)[2], | 502 "date": self.repo.changectx(n).date(), |
509 "node": hex(n)} | 503 "node": hex(n)} |
510 parity += 1 | 504 parity += 1 |
511 | 505 |
512 yield self.t("tags", | 506 yield self.t("tags", |
513 node=hex(self.repo.changelog.tip()), | 507 node=hex(self.repo.changelog.tip()), |
514 entries=lambda **x: entries(False, **x), | 508 entries=lambda **x: entries(False, **x), |
515 entriesnotip=lambda **x: entries(True, **x)) | 509 entriesnotip=lambda **x: entries(True, **x)) |
516 | 510 |
517 def summary(self): | 511 def summary(self): |
518 cl = self.repo.changelog | |
519 | |
520 i = self.repo.tagslist() | 512 i = self.repo.tagslist() |
521 i.reverse() | 513 i.reverse() |
522 | 514 |
523 def tagentries(**map): | 515 def tagentries(**map): |
524 parity = 0 | 516 parity = 0 |
529 | 521 |
530 count += 1 | 522 count += 1 |
531 if count > 10: # limit to 10 tags | 523 if count > 10: # limit to 10 tags |
532 break; | 524 break; |
533 | 525 |
534 c = cl.read(n) | |
535 t = c[2] | |
536 | |
537 yield self.t("tagentry", | 526 yield self.t("tagentry", |
538 parity = self.stripes(parity), | 527 parity=self.stripes(parity), |
539 tag = k, | 528 tag=k, |
540 node = hex(n), | 529 node=hex(n), |
541 date = t) | 530 date=self.repo.changectx(n).date()) |
542 parity += 1 | 531 parity += 1 |
543 | 532 |
544 def heads(**map): | 533 def heads(**map): |
545 parity = 0 | 534 parity = 0 |
546 count = 0 | 535 count = 0 |
558 'date': ctx.date()} | 547 'date': ctx.date()} |
559 parity += 1 | 548 parity += 1 |
560 | 549 |
561 def changelist(**map): | 550 def changelist(**map): |
562 parity = 0 | 551 parity = 0 |
563 cl = self.repo.changelog | |
564 l = [] # build a list in forward order for efficiency | 552 l = [] # build a list in forward order for efficiency |
565 for i in xrange(start, end): | 553 for i in xrange(start, end): |
566 n = cl.node(i) | 554 ctx = self.repo.changectx(i) |
567 changes = cl.read(n) | 555 hn = hex(ctx.node()) |
568 hn = hex(n) | |
569 t = changes[2] | |
570 | 556 |
571 l.insert(0, self.t( | 557 l.insert(0, self.t( |
572 'shortlogentry', | 558 'shortlogentry', |
573 parity = parity, | 559 parity=parity, |
574 author = changes[1], | 560 author=ctx.user(), |
575 desc = changes[4], | 561 desc=ctx.description(), |
576 date = t, | 562 date=ctx.date(), |
577 rev = i, | 563 rev=i, |
578 node = hn)) | 564 node=hn)) |
579 parity = 1 - parity | 565 parity = 1 - parity |
580 | 566 |
581 yield l | 567 yield l |
582 | 568 |
569 cl = self.repo.changelog | |
583 count = cl.count() | 570 count = cl.count() |
584 start = max(0, count - self.maxchanges) | 571 start = max(0, count - self.maxchanges) |
585 end = min(count, start + self.maxchanges) | 572 end = min(count, start + self.maxchanges) |
586 | 573 |
587 yield self.t("summary", | 574 yield self.t("summary", |
588 desc = self.config("web", "description", "unknown"), | 575 desc=self.config("web", "description", "unknown"), |
589 owner = (self.config("ui", "username") or # preferred | 576 owner=(self.config("ui", "username") or # preferred |
590 self.config("web", "contact") or # deprecated | 577 self.config("web", "contact") or # deprecated |
591 self.config("web", "author", "unknown")), # also | 578 self.config("web", "author", "unknown")), # also |
592 lastchange = cl.read(cl.tip())[2], | 579 lastchange=cl.read(cl.tip())[2], |
593 tags = tagentries, | 580 tags=tagentries, |
594 heads = heads, | 581 heads=heads, |
595 shortlog = changelist, | 582 shortlog=changelist, |
596 node = hex(cl.tip()), | 583 node=hex(cl.tip()), |
597 archives=self.archivelist("tip")) | 584 archives=self.archivelist("tip")) |
598 | 585 |
599 def filediff(self, fctx): | 586 def filediff(self, fctx): |
600 n = fctx.node() | 587 n = fctx.node() |
601 path = fctx.path() | 588 path = fctx.path() |