comparison mercurial/cmdutil.py @ 10819:36c6a667d733

cmdutil: make use of output labeling in changeset_printer
author Brodie Rao <brodie@bitheap.org>
date Fri, 02 Apr 2010 15:22:07 -0500
parents cb0a7faa29ea
children 56fffc9c8928
comparison
equal deleted inserted replaced
10818:d14d45fae927 10819:36c6a667d733
733 733
734 def show(self, ctx, copies=None, **props): 734 def show(self, ctx, copies=None, **props):
735 if self.buffered: 735 if self.buffered:
736 self.ui.pushbuffer() 736 self.ui.pushbuffer()
737 self._show(ctx, copies, props) 737 self._show(ctx, copies, props)
738 self.hunk[ctx.rev()] = self.ui.popbuffer() 738 self.hunk[ctx.rev()] = self.ui.popbuffer(labeled=True)
739 else: 739 else:
740 self._show(ctx, copies, props) 740 self._show(ctx, copies, props)
741 741
742 def _show(self, ctx, copies, props): 742 def _show(self, ctx, copies, props):
743 '''show a single changeset or file revision''' 743 '''show a single changeset or file revision'''
744 changenode = ctx.node() 744 changenode = ctx.node()
745 rev = ctx.rev() 745 rev = ctx.rev()
746 746
747 if self.ui.quiet: 747 if self.ui.quiet:
748 self.ui.write("%d:%s\n" % (rev, short(changenode))) 748 self.ui.write("%d:%s\n" % (rev, short(changenode)),
749 label='log.node')
749 return 750 return
750 751
751 log = self.repo.changelog 752 log = self.repo.changelog
752 date = util.datestr(ctx.date()) 753 date = util.datestr(ctx.date())
753 754
754 hexfunc = self.ui.debugflag and hex or short 755 hexfunc = self.ui.debugflag and hex or short
755 756
756 parents = [(p, hexfunc(log.node(p))) 757 parents = [(p, hexfunc(log.node(p)))
757 for p in self._meaningful_parentrevs(log, rev)] 758 for p in self._meaningful_parentrevs(log, rev)]
758 759
759 self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode))) 760 self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)),
761 label='log.changeset')
760 762
761 branch = ctx.branch() 763 branch = ctx.branch()
762 # don't show the default branch name 764 # don't show the default branch name
763 if branch != 'default': 765 if branch != 'default':
764 branch = encoding.tolocal(branch) 766 branch = encoding.tolocal(branch)
765 self.ui.write(_("branch: %s\n") % branch) 767 self.ui.write(_("branch: %s\n") % branch,
768 label='log.branch')
766 for tag in self.repo.nodetags(changenode): 769 for tag in self.repo.nodetags(changenode):
767 self.ui.write(_("tag: %s\n") % tag) 770 self.ui.write(_("tag: %s\n") % tag,
771 label='log.tag')
768 for parent in parents: 772 for parent in parents:
769 self.ui.write(_("parent: %d:%s\n") % parent) 773 self.ui.write(_("parent: %d:%s\n") % parent,
774 label='log.parent')
770 775
771 if self.ui.debugflag: 776 if self.ui.debugflag:
772 mnode = ctx.manifestnode() 777 mnode = ctx.manifestnode()
773 self.ui.write(_("manifest: %d:%s\n") % 778 self.ui.write(_("manifest: %d:%s\n") %
774 (self.repo.manifest.rev(mnode), hex(mnode))) 779 (self.repo.manifest.rev(mnode), hex(mnode)),
775 self.ui.write(_("user: %s\n") % ctx.user()) 780 label='ui.debug log.manifest')
776 self.ui.write(_("date: %s\n") % date) 781 self.ui.write(_("user: %s\n") % ctx.user(),
782 label='log.user')
783 self.ui.write(_("date: %s\n") % date,
784 label='log.date')
777 785
778 if self.ui.debugflag: 786 if self.ui.debugflag:
779 files = self.repo.status(log.parents(changenode)[0], changenode)[:3] 787 files = self.repo.status(log.parents(changenode)[0], changenode)[:3]
780 for key, value in zip([_("files:"), _("files+:"), _("files-:")], 788 for key, value in zip([_("files:"), _("files+:"), _("files-:")],
781 files): 789 files):
782 if value: 790 if value:
783 self.ui.write("%-12s %s\n" % (key, " ".join(value))) 791 self.ui.write("%-12s %s\n" % (key, " ".join(value)),
792 label='ui.debug log.files')
784 elif ctx.files() and self.ui.verbose: 793 elif ctx.files() and self.ui.verbose:
785 self.ui.write(_("files: %s\n") % " ".join(ctx.files())) 794 self.ui.write(_("files: %s\n") % " ".join(ctx.files()),
795 label='ui.note log.files')
786 if copies and self.ui.verbose: 796 if copies and self.ui.verbose:
787 copies = ['%s (%s)' % c for c in copies] 797 copies = ['%s (%s)' % c for c in copies]
788 self.ui.write(_("copies: %s\n") % ' '.join(copies)) 798 self.ui.write(_("copies: %s\n") % ' '.join(copies),
799 label='ui.note log.copies')
789 800
790 extra = ctx.extra() 801 extra = ctx.extra()
791 if extra and self.ui.debugflag: 802 if extra and self.ui.debugflag:
792 for key, value in sorted(extra.items()): 803 for key, value in sorted(extra.items()):
793 self.ui.write(_("extra: %s=%s\n") 804 self.ui.write(_("extra: %s=%s\n")
794 % (key, value.encode('string_escape'))) 805 % (key, value.encode('string_escape')),
806 label='ui.debug log.extra')
795 807
796 description = ctx.description().strip() 808 description = ctx.description().strip()
797 if description: 809 if description:
798 if self.ui.verbose: 810 if self.ui.verbose:
799 self.ui.write(_("description:\n")) 811 self.ui.write(_("description:\n"),
800 self.ui.write(description) 812 label='ui.note log.description')
813 self.ui.write(description,
814 label='ui.note log.description')
801 self.ui.write("\n\n") 815 self.ui.write("\n\n")
802 else: 816 else:
803 self.ui.write(_("summary: %s\n") % 817 self.ui.write(_("summary: %s\n") %
804 description.splitlines()[0]) 818 description.splitlines()[0],
819 label='log.summary')
805 self.ui.write("\n") 820 self.ui.write("\n")
806 821
807 self.showpatch(changenode) 822 self.showpatch(changenode)
808 823
809 def showpatch(self, node): 824 def showpatch(self, node):
810 if self.patch: 825 if self.patch:
811 prev = self.repo.changelog.parents(node)[0] 826 prev = self.repo.changelog.parents(node)[0]
812 chunks = patch.diff(self.repo, prev, node, match=self.patch, 827 chunks = patch.diffui(self.repo, prev, node, match=self.patch,
813 opts=patch.diffopts(self.ui, self.diffopts)) 828 opts=patch.diffopts(self.ui, self.diffopts))
814 for chunk in chunks: 829 for chunk, label in chunks:
815 self.ui.write(chunk) 830 self.ui.write(chunk, label=label)
816 self.ui.write("\n") 831 self.ui.write("\n")
817 832
818 def _meaningful_parentrevs(self, log, rev): 833 def _meaningful_parentrevs(self, log, rev):
819 """Return list of meaningful (or all if debug) parentrevs for rev. 834 """Return list of meaningful (or all if debug) parentrevs for rev.
820 835