Show More
@@ -701,15 +701,18 b' def annotate(ui, repo, *pats, **opts):' | |||||
701 |
|
701 | |||
702 | ucache = {} |
|
702 | ucache = {} | |
703 | def getname(rev): |
|
703 | def getname(rev): | |
704 | cl = repo.changelog.read(repo.changelog.node(rev)) |
|
704 | try: | |
705 | return trimuser(ui, cl[1], rev, ucache) |
|
705 | return ucache[rev] | |
|
706 | except: | |||
|
707 | u = trimuser(ui, repo.changectx(rev).user(), rev, ucache) | |||
|
708 | ucache[rev] = u | |||
|
709 | return u | |||
706 |
|
710 | |||
707 | dcache = {} |
|
711 | dcache = {} | |
708 | def getdate(rev): |
|
712 | def getdate(rev): | |
709 | datestr = dcache.get(rev) |
|
713 | datestr = dcache.get(rev) | |
710 | if datestr is None: |
|
714 | if datestr is None: | |
711 | cl = repo.changelog.read(repo.changelog.node(rev)) |
|
715 | datestr = dcache[rev] = util.datestr(repo.changectx(rev).date()) | |
712 | datestr = dcache[rev] = util.datestr(cl[2]) |
|
|||
713 | return datestr |
|
716 | return datestr | |
714 |
|
717 | |||
715 | if not pats: |
|
718 | if not pats: | |
@@ -720,20 +723,15 b' def annotate(ui, repo, *pats, **opts):' | |||||
720 | if not opts['user'] and not opts['changeset'] and not opts['date']: |
|
723 | if not opts['user'] and not opts['changeset'] and not opts['date']: | |
721 | opts['number'] = 1 |
|
724 | opts['number'] = 1 | |
722 |
|
725 | |||
723 | if opts['rev']: |
|
726 | ctx = repo.changectx(opts['rev'] or repo.dirstate.parents()[0]) | |
724 | node = repo.changelog.lookup(opts['rev']) |
|
|||
725 | else: |
|
|||
726 | node = repo.dirstate.parents()[0] |
|
|||
727 | change = repo.changelog.read(node) |
|
|||
728 | mmap = repo.manifest.read(change[0]) |
|
|||
729 |
|
727 | |||
730 | for src, abs, rel, exact in walk(repo, pats, opts, node=node): |
|
728 | for src, abs, rel, exact in walk(repo, pats, opts, node=node): | |
731 |
f = |
|
729 | fctx = ctx.filectx(abs) | |
732 |
if not opts['text'] and util.binary(f. |
|
730 | if not opts['text'] and util.binary(fctx.data()): | |
733 | ui.write(_("%s: binary file\n") % ((pats and rel) or abs)) |
|
731 | ui.write(_("%s: binary file\n") % ((pats and rel) or abs)) | |
734 | continue |
|
732 | continue | |
735 |
|
733 | |||
736 |
lines = f.annotate( |
|
734 | lines = fctx.annotate() | |
737 | pieces = [] |
|
735 | pieces = [] | |
738 |
|
736 | |||
739 | for o, f in opmap: |
|
737 | for o, f in opmap: |
@@ -119,3 +119,6 b' class filectx(object):' | |||||
119 | # hard for renames |
|
119 | # hard for renames | |
120 | c = self._filelog.children(self._filenode) |
|
120 | c = self._filelog.children(self._filenode) | |
121 | return [ filectx(self._repo, self._path, fileid=x) for x in c ] |
|
121 | return [ filectx(self._repo, self._path, fileid=x) for x in c ] | |
|
122 | ||||
|
123 | def annotate(self): | |||
|
124 | return self._filelog.annotate(self._filenode) |
General Comments 0
You need to be logged in to leave comments.
Login now