Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 3146:e69a0cbe268e
filectx.annotate: return filectx for each line instead of rev
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Fri, 22 Sep 2006 08:19:25 -0700 |
parents | 81da3c45aabd |
children | e43fd1623fe1 |
comparison
equal
deleted
inserted
replaced
3145:e4ea47c21480 | 3146:e69a0cbe268e |
---|---|
602 | 602 |
603 Without the -a option, annotate will avoid processing files it | 603 Without the -a option, annotate will avoid processing files it |
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 |
633 | 618 |
634 ctx = repo.changectx(opts['rev']) | 619 ctx = repo.changectx(opts['rev']) |