Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hgweb.py @ 1586:5c5aaaa9ab6f
Merge with upstream.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Thu, 15 Dec 2005 15:39:20 +0100 |
parents | 85803ec2daab |
children | ba625c8083d8 |
comparison
equal
deleted
inserted
replaced
1585:d7c4b9bfcc94 | 1586:5c5aaaa9ab6f |
---|---|
630 def entries(**map): | 630 def entries(**map): |
631 parity = 0 | 631 parity = 0 |
632 for k,n in i: | 632 for k,n in i: |
633 yield {"parity": parity, | 633 yield {"parity": parity, |
634 "tag": k, | 634 "tag": k, |
635 "tagmanifest": hex(cl.read(n)[0]), | |
636 "date": cl.read(n)[2], | |
635 "node": hex(n)} | 637 "node": hex(n)} |
636 parity = 1 - parity | 638 parity = 1 - parity |
637 | 639 |
638 yield self.t("tags", | 640 yield self.t("tags", |
639 manifest=hex(mf), | 641 manifest=hex(mf), |
640 entries=entries) | 642 entries=entries) |
643 | |
644 def summary(self): | |
645 cl = self.repo.changelog | |
646 mf = cl.read(cl.tip())[0] | |
647 | |
648 i = self.repo.tagslist() | |
649 i.reverse() | |
650 | |
651 def tagentries(**map): | |
652 parity = 0 | |
653 count = 0 | |
654 for k,n in i: | |
655 if k == "tip": # skip tip | |
656 continue; | |
657 | |
658 count += 1 | |
659 if count > 10: # limit to 10 tags | |
660 break; | |
661 | |
662 c = cl.read(n) | |
663 m = c[0] | |
664 t = c[2] | |
665 | |
666 yield self.t("tagentry", | |
667 parity = parity, | |
668 tag = k, | |
669 node = hex(n), | |
670 date = t, | |
671 tagmanifest = hex(m)) | |
672 parity = 1 - parity | |
673 | |
674 def changelist(**map): | |
675 parity = 0 | |
676 cl = self.repo.changelog | |
677 l = [] # build a list in forward order for efficiency | |
678 for i in range(start, end): | |
679 n = cl.node(i) | |
680 changes = cl.read(n) | |
681 hn = hex(n) | |
682 t = changes[2] | |
683 | |
684 l.insert(0, self.t( | |
685 'shortlogentry', | |
686 parity = parity, | |
687 author = changes[1], | |
688 manifest = hex(changes[0]), | |
689 desc = changes[4], | |
690 date = t, | |
691 rev = i, | |
692 node = hn)) | |
693 parity = 1 - parity | |
694 | |
695 yield l | |
696 | |
697 cl = self.repo.changelog | |
698 mf = cl.read(cl.tip())[0] | |
699 count = cl.count() | |
700 start = max(0, count - self.maxchanges) | |
701 end = min(count, start + self.maxchanges) | |
702 pos = end - 1 | |
703 | |
704 yield self.t("summary", | |
705 desc = self.repo.ui.config("web", "description", "unknown"), | |
706 owner = (self.repo.ui.config("ui", "username") or # preferred | |
707 self.repo.ui.config("web", "contact") or # deprecated | |
708 self.repo.ui.config("web", "author", "unknown")), # also | |
709 lastchange = (0, 0), # FIXME | |
710 manifest = hex(mf), | |
711 tags = tagentries, | |
712 shortlog = changelist) | |
641 | 713 |
642 def filediff(self, file, changeset): | 714 def filediff(self, file, changeset): |
643 cl = self.repo.changelog | 715 cl = self.repo.changelog |
644 n = self.repo.lookup(changeset) | 716 n = self.repo.lookup(changeset) |
645 changeset = hex(n) | 717 changeset = hex(n) |
796 req.write(self.manifest(req.form['manifest'][0], req.form['path'][0])) | 868 req.write(self.manifest(req.form['manifest'][0], req.form['path'][0])) |
797 | 869 |
798 elif req.form['cmd'][0] == 'tags': | 870 elif req.form['cmd'][0] == 'tags': |
799 req.write(self.tags()) | 871 req.write(self.tags()) |
800 | 872 |
873 elif req.form['cmd'][0] == 'summary': | |
874 req.write(self.summary()) | |
875 | |
801 elif req.form['cmd'][0] == 'filediff': | 876 elif req.form['cmd'][0] == 'filediff': |
802 req.write(self.filediff(req.form['file'][0], req.form['node'][0])) | 877 req.write(self.filediff(req.form['file'][0], req.form['node'][0])) |
803 | 878 |
804 elif req.form['cmd'][0] == 'file': | 879 elif req.form['cmd'][0] == 'file': |
805 req.write(self.filerevision(req.form['file'][0], req.form['filenode'][0])) | 880 req.write(self.filerevision(req.form['file'][0], req.form['filenode'][0])) |