Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 3172:5c93dd0ae413
Refactor annotate copy support.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Wed, 27 Sep 2006 09:10:21 -0700 |
parents | e43fd1623fe1 |
children | 3637d5d17cbc |
comparison
equal
deleted
inserted
replaced
3171:706277866251 | 3172:5c93dd0ae413 |
---|---|
610 raise util.Abort(_('at least one file name or pattern required')) | 610 raise util.Abort(_('at least one file name or pattern required')) |
611 | 611 |
612 opmap = [['user', lambda x: ui.shortuser(x.user())], | 612 opmap = [['user', lambda x: ui.shortuser(x.user())], |
613 ['number', lambda x: str(x.rev())], | 613 ['number', lambda x: str(x.rev())], |
614 ['changeset', lambda x: short(x.node())], | 614 ['changeset', lambda x: short(x.node())], |
615 ['date', getdate]] | 615 ['date', getdate], ['follow', lambda x: x.path()]] |
616 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'] |
617 and not opts['follow']): | |
617 opts['number'] = 1 | 618 opts['number'] = 1 |
618 | 619 |
619 ctx = repo.changectx(opts['rev']) | 620 ctx = repo.changectx(opts['rev']) |
620 | 621 |
621 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, | 622 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, |
623 fctx = ctx.filectx(abs) | 624 fctx = ctx.filectx(abs) |
624 if not opts['text'] and util.binary(fctx.data()): | 625 if not opts['text'] and util.binary(fctx.data()): |
625 ui.write(_("%s: binary file\n") % ((pats and rel) or abs)) | 626 ui.write(_("%s: binary file\n") % ((pats and rel) or abs)) |
626 continue | 627 continue |
627 | 628 |
628 lines = fctx.annotate() | 629 lines = fctx.annotate(follow=opts.get('follow')) |
629 pieces = [] | 630 pieces = [] |
630 | 631 |
631 for o, f in opmap: | 632 for o, f in opmap: |
632 if opts[o]: | 633 if opts[o]: |
633 l = [f(n) for n, dummy in lines] | 634 l = [f(n) for n, dummy in lines] |
2669 _('guess renamed files by similarity (0<=s<=1)'))], | 2670 _('guess renamed files by similarity (0<=s<=1)'))], |
2670 _('hg addremove [OPTION]... [FILE]...')), | 2671 _('hg addremove [OPTION]... [FILE]...')), |
2671 "^annotate": | 2672 "^annotate": |
2672 (annotate, | 2673 (annotate, |
2673 [('r', 'rev', '', _('annotate the specified revision')), | 2674 [('r', 'rev', '', _('annotate the specified revision')), |
2675 ('f', 'follow', None, _('follow file copies and renames')), | |
2674 ('a', 'text', None, _('treat all files as text')), | 2676 ('a', 'text', None, _('treat all files as text')), |
2675 ('u', 'user', None, _('list the author')), | 2677 ('u', 'user', None, _('list the author')), |
2676 ('d', 'date', None, _('list the date')), | 2678 ('d', 'date', None, _('list the date')), |
2677 ('n', 'number', None, _('list the revision number (default)')), | 2679 ('n', 'number', None, _('list the revision number (default)')), |
2678 ('c', 'changeset', None, _('list the changeset')), | 2680 ('c', 'changeset', None, _('list the changeset')), |