650 if self.ui.quiet: |
650 if self.ui.quiet: |
651 self.ui.write("%d:%s\n" % (rev, short(changenode))) |
651 self.ui.write("%d:%s\n" % (rev, short(changenode))) |
652 return |
652 return |
653 |
653 |
654 log = self.repo.changelog |
654 log = self.repo.changelog |
655 changes = log.read(changenode) |
655 date = util.datestr(ctx.date()) |
656 date = util.datestr(changes[2]) |
656 extra = ctx.extra() |
657 extra = changes[5] |
|
658 branch = extra.get("branch") |
657 branch = extra.get("branch") |
659 |
658 |
660 hexfunc = self.ui.debugflag and hex or short |
659 hexfunc = self.ui.debugflag and hex or short |
661 |
660 |
662 parents = [(p, hexfunc(log.node(p))) |
661 parents = [(p, hexfunc(log.node(p))) |
672 self.ui.write(_("tag: %s\n") % tag) |
671 self.ui.write(_("tag: %s\n") % tag) |
673 for parent in parents: |
672 for parent in parents: |
674 self.ui.write(_("parent: %d:%s\n") % parent) |
673 self.ui.write(_("parent: %d:%s\n") % parent) |
675 |
674 |
676 if self.ui.debugflag: |
675 if self.ui.debugflag: |
|
676 mnode = ctx.manifestnode() |
677 self.ui.write(_("manifest: %d:%s\n") % |
677 self.ui.write(_("manifest: %d:%s\n") % |
678 (self.repo.manifest.rev(changes[0]), hex(changes[0]))) |
678 (self.repo.manifest.rev(mnode), hex(mnode))) |
679 self.ui.write(_("user: %s\n") % changes[1]) |
679 self.ui.write(_("user: %s\n") % ctx.user()) |
680 self.ui.write(_("date: %s\n") % date) |
680 self.ui.write(_("date: %s\n") % date) |
681 |
681 |
682 if self.ui.debugflag: |
682 if self.ui.debugflag: |
683 files = self.repo.status(log.parents(changenode)[0], changenode)[:3] |
683 files = self.repo.status(log.parents(changenode)[0], changenode)[:3] |
684 for key, value in zip([_("files:"), _("files+:"), _("files-:")], |
684 for key, value in zip([_("files:"), _("files+:"), _("files-:")], |
685 files): |
685 files): |
686 if value: |
686 if value: |
687 self.ui.write("%-12s %s\n" % (key, " ".join(value))) |
687 self.ui.write("%-12s %s\n" % (key, " ".join(value))) |
688 elif changes[3] and self.ui.verbose: |
688 elif ctx.files() and self.ui.verbose: |
689 self.ui.write(_("files: %s\n") % " ".join(changes[3])) |
689 self.ui.write(_("files: %s\n") % " ".join(ctx.files())) |
690 if copies and self.ui.verbose: |
690 if copies and self.ui.verbose: |
691 copies = ['%s (%s)' % c for c in copies] |
691 copies = ['%s (%s)' % c for c in copies] |
692 self.ui.write(_("copies: %s\n") % ' '.join(copies)) |
692 self.ui.write(_("copies: %s\n") % ' '.join(copies)) |
693 |
693 |
694 if extra and self.ui.debugflag: |
694 if extra and self.ui.debugflag: |
695 for key, value in sorted(extra.items()): |
695 for key, value in sorted(extra.items()): |
696 self.ui.write(_("extra: %s=%s\n") |
696 self.ui.write(_("extra: %s=%s\n") |
697 % (key, value.encode('string_escape'))) |
697 % (key, value.encode('string_escape'))) |
698 |
698 |
699 description = changes[4].strip() |
699 description = ctx.description().strip() |
700 if description: |
700 if description: |
701 if self.ui.verbose: |
701 if self.ui.verbose: |
702 self.ui.write(_("description:\n")) |
702 self.ui.write(_("description:\n")) |
703 self.ui.write(description) |
703 self.ui.write(description) |
704 self.ui.write("\n\n") |
704 self.ui.write("\n\n") |