Show More
@@ -648,25 +648,6 b' class hgweb(object):' | |||||
648 | form[name] = value |
|
648 | form[name] = value | |
649 | del form[k] |
|
649 | del form[k] | |
650 |
|
650 | |||
651 | if form.has_key('manifest'): |
|
|||
652 | changeid = form['manifest'][0] |
|
|||
653 | try: |
|
|||
654 | req.changectx = self.repo.changectx(changeid) |
|
|||
655 | except hg.RepoError: |
|
|||
656 | man = self.repo.manifest |
|
|||
657 | mn = man.lookup(changeid) |
|
|||
658 | req.changectx = self.repo.changectx(man.linkrev(mn)) |
|
|||
659 |
|
||||
660 | if form.has_key('filenode'): |
|
|||
661 | changeid = form['filenode'][0] |
|
|||
662 | path = self.cleanpath(form['file'][0]) |
|
|||
663 | try: |
|
|||
664 | req.changectx = self.repo.changectx(changeid) |
|
|||
665 | req.filectx = req.changectx.filectx(path) |
|
|||
666 | except hg.RepoError: |
|
|||
667 | req.filectx = self.repo.filectx(path, fileid=changeid) |
|
|||
668 | req.changectx = req.filectx.changectx() |
|
|||
669 |
|
||||
670 | self.refresh() |
|
651 | self.refresh() | |
671 |
|
652 | |||
672 | expand_form(req.form) |
|
653 | expand_form(req.form) | |
@@ -710,6 +691,34 b' class hgweb(object):' | |||||
710 | else: |
|
691 | else: | |
711 | req.write(self.t("error")) |
|
692 | req.write(self.t("error")) | |
712 |
|
693 | |||
|
694 | def changectx(self, req): | |||
|
695 | if req.form.has_key('node'): | |||
|
696 | changeid = req.form['node'][0] | |||
|
697 | else: | |||
|
698 | changeid = req.form['manifest'][0] | |||
|
699 | try: | |||
|
700 | ctx = self.repo.changectx(changeid) | |||
|
701 | except hg.RepoError: | |||
|
702 | man = self.repo.manifest | |||
|
703 | mn = man.lookup(changeid) | |||
|
704 | ctx = self.repo.changectx(man.linkrev(mn)) | |||
|
705 | ||||
|
706 | return ctx | |||
|
707 | ||||
|
708 | def filectx(self, req): | |||
|
709 | path = self.cleanpath(req.form['file'][0]) | |||
|
710 | if req.form.has_key('node'): | |||
|
711 | changeid = req.form['node'][0] | |||
|
712 | else: | |||
|
713 | changeid = req.form['filenode'][0] | |||
|
714 | try: | |||
|
715 | ctx = self.repo.changectx(changeid) | |||
|
716 | fctx = ctx.filectx(path) | |||
|
717 | except hg.RepoError: | |||
|
718 | fctx = self.repo.filectx(path, fileid=changeid) | |||
|
719 | ||||
|
720 | return fctx | |||
|
721 | ||||
713 | def stripes(self, parity): |
|
722 | def stripes(self, parity): | |
714 | "make horizontal stripes for easier reading" |
|
723 | "make horizontal stripes for easier reading" | |
715 | if self.stripecount: |
|
724 | if self.stripecount: | |
@@ -717,7 +726,10 b' class hgweb(object):' | |||||
717 | else: |
|
726 | else: | |
718 | return 0 |
|
727 | return 0 | |
719 |
|
728 | |||
720 | def do_changelog(self, req): |
|
729 | def do_changelog(self, req, shortlog = False): | |
|
730 | if req.form.has_key('node'): | |||
|
731 | ctx = self.changectx(req) | |||
|
732 | else: | |||
721 | if req.form.has_key('rev'): |
|
733 | if req.form.has_key('rev'): | |
722 | hi = req.form['rev'][0] |
|
734 | hi = req.form['rev'][0] | |
723 | else: |
|
735 | else: | |
@@ -728,27 +740,17 b' class hgweb(object):' | |||||
728 | req.write(self.search(hi)) # XXX redirect to 404 page? |
|
740 | req.write(self.search(hi)) # XXX redirect to 404 page? | |
729 | return |
|
741 | return | |
730 |
|
742 | |||
731 | req.write(self.changelog(ctx)) |
|
743 | req.write(self.changelog(ctx, shortlog = shortlog)) | |
732 |
|
744 | |||
733 | def do_shortlog(self, req): |
|
745 | def do_shortlog(self, req): | |
734 | if req.form.has_key('rev'): |
|
746 | self.do_changelog(req, shortlog = True) | |
735 | hi = req.form['rev'][0] |
|
|||
736 | else: |
|
|||
737 | hi = self.repo.changelog.count() - 1 |
|
|||
738 | try: |
|
|||
739 | hi = self.repo.changectx(hi) |
|
|||
740 | except hg.RepoError: |
|
|||
741 | req.write(self.search(hi)) # XXX redirect to 404 page? |
|
|||
742 | return |
|
|||
743 |
|
||||
744 | req.write(self.changelog(ctx, shortlog = True)) |
|
|||
745 |
|
747 | |||
746 | def do_changeset(self, req): |
|
748 | def do_changeset(self, req): | |
747 | ctx = self.repo.changectx(req.form['node'][0]) |
|
749 | ctx = self.repo.changectx(req.form['node'][0]) | |
748 | req.write(self.changeset(ctx)) |
|
750 | req.write(self.changeset(ctx)) | |
749 |
|
751 | |||
750 | def do_manifest(self, req): |
|
752 | def do_manifest(self, req): | |
751 |
req.write(self.manifest( |
|
753 | req.write(self.manifest(self.changectx(req), | |
752 | self.cleanpath(req.form['path'][0]))) |
|
754 | self.cleanpath(req.form['path'][0]))) | |
753 |
|
755 | |||
754 | def do_tags(self, req): |
|
756 | def do_tags(self, req): | |
@@ -758,18 +760,16 b' class hgweb(object):' | |||||
758 | req.write(self.summary()) |
|
760 | req.write(self.summary()) | |
759 |
|
761 | |||
760 | def do_filediff(self, req): |
|
762 | def do_filediff(self, req): | |
761 | ctx = self.repo.changectx(req.form['node'][0]) |
|
763 | req.write(self.filediff(self.filectx(req))) | |
762 | fctx = ctx.filectx(self.cleanpath(req.form['file'][0])) |
|
|||
763 | req.write(self.filediff(fctx)) |
|
|||
764 |
|
764 | |||
765 | def do_file(self, req): |
|
765 | def do_file(self, req): | |
766 |
req.write(self.filerevision( |
|
766 | req.write(self.filerevision(self.filectx(req))) | |
767 |
|
767 | |||
768 | def do_annotate(self, req): |
|
768 | def do_annotate(self, req): | |
769 |
req.write(self.fileannotate( |
|
769 | req.write(self.fileannotate(self.filectx(req))) | |
770 |
|
770 | |||
771 | def do_filelog(self, req): |
|
771 | def do_filelog(self, req): | |
772 |
req.write(self.filelog( |
|
772 | req.write(self.filelog(self.filectx(req))) | |
773 |
|
773 | |||
774 | def do_heads(self, req): |
|
774 | def do_heads(self, req): | |
775 | resp = " ".join(map(hex, self.repo.heads())) + "\n" |
|
775 | resp = " ".join(map(hex, self.repo.heads())) + "\n" |
General Comments 0
You need to be logged in to leave comments.
Login now