Show More
@@ -604,29 +604,14 b' def annotate(ui, repo, *pats, **opts):' | |||||
604 | detects as binary. With -a, annotate will generate an annotation |
|
604 | detects as binary. With -a, annotate will generate an annotation | |
605 | anyway, probably with undesirable results. |
|
605 | anyway, probably with undesirable results. | |
606 | """ |
|
606 | """ | |
607 | def getnode(rev): |
|
607 | getdate = util.cachefunc(lambda x: util.datestr(x.date())) | |
608 | return short(repo.changelog.node(rev)) |
|
|||
609 |
|
||||
610 | ucache = {} |
|
|||
611 | def getname(rev): |
|
|||
612 | try: |
|
|||
613 | return ucache[rev] |
|
|||
614 | except: |
|
|||
615 | u = trimuser(ui, repo.changectx(rev).user(), rev, ucache) |
|
|||
616 | ucache[rev] = u |
|
|||
617 | return u |
|
|||
618 |
|
||||
619 | dcache = {} |
|
|||
620 | def getdate(rev): |
|
|||
621 | datestr = dcache.get(rev) |
|
|||
622 | if datestr is None: |
|
|||
623 | datestr = dcache[rev] = util.datestr(repo.changectx(rev).date()) |
|
|||
624 | return datestr |
|
|||
625 |
|
608 | |||
626 | if not pats: |
|
609 | if not pats: | |
627 | raise util.Abort(_('at least one file name or pattern required')) |
|
610 | raise util.Abort(_('at least one file name or pattern required')) | |
628 |
|
611 | |||
629 | opmap = [['user', getname], ['number', str], ['changeset', getnode], |
|
612 | opmap = [['user', lambda x: ui.shortuser(x.user())], | |
|
613 | ['number', lambda x: str(x.rev())], | |||
|
614 | ['changeset', lambda x: short(x.node())], | |||
630 | ['date', getdate]] |
|
615 | ['date', getdate]] | |
631 | if not opts['user'] and not opts['changeset'] and not opts['date']: |
|
616 | if not opts['user'] and not opts['changeset'] and not opts['date']: | |
632 | opts['number'] = 1 |
|
617 | opts['number'] = 1 |
@@ -7,7 +7,7 b'' | |||||
7 |
|
7 | |||
8 | from node import * |
|
8 | from node import * | |
9 | from demandload import demandload |
|
9 | from demandload import demandload | |
10 | demandload(globals(), "ancestor") |
|
10 | demandload(globals(), "ancestor util") | |
11 |
|
11 | |||
12 | class changectx(object): |
|
12 | class changectx(object): | |
13 | """A changecontext object makes access to data related to a particular |
|
13 | """A changecontext object makes access to data related to a particular | |
@@ -155,7 +155,12 b' class filectx(object):' | |||||
155 | filelog=self._filelog) for x in c ] |
|
155 | filelog=self._filelog) for x in c ] | |
156 |
|
156 | |||
157 | def annotate(self): |
|
157 | def annotate(self): | |
158 | return self._filelog.annotate(self._filenode) |
|
158 | getctx = util.cachefunc(lambda x: filectx(self._repo, self._path, | |
|
159 | changeid=x, | |||
|
160 | filelog=self._filelog)) | |||
|
161 | hist = self._filelog.annotate(self._filenode) | |||
|
162 | ||||
|
163 | return [(getctx(rev), line) for rev, line in hist] | |||
159 |
|
164 | |||
160 | def ancestor(self, fc2): |
|
165 | def ancestor(self, fc2): | |
161 | """ |
|
166 | """ |
General Comments 0
You need to be logged in to leave comments.
Login now