633 repo = hg.repository(ui, ".", create=1) |
633 repo = hg.repository(ui, ".", create=1) |
634 |
634 |
635 def log(ui, repo, f=None, **opts): |
635 def log(ui, repo, f=None, **opts): |
636 """show the revision history of the repository or a single file""" |
636 """show the revision history of the repository or a single file""" |
637 if f: |
637 if f: |
638 filelog = repo.file(relpath(repo, [f])[0]) |
638 files = relpath(repo, [f]) |
|
639 filelog = repo.file(files[0]) |
639 log = filelog |
640 log = filelog |
640 lookup = filelog.lookup |
641 lookup = filelog.lookup |
641 else: |
642 else: |
|
643 files = None |
642 filelog = None |
644 filelog = None |
643 log = repo.changelog |
645 log = repo.changelog |
644 lookup = repo.lookup |
646 lookup = repo.lookup |
645 revlist = [] |
647 revlist = [] |
646 revs = [log.rev(lookup(rev)) for rev in opts['rev']] |
648 revs = [log.rev(lookup(rev)) for rev in opts['rev']] |
653 off = a > b and -1 or 1 |
655 off = a > b and -1 or 1 |
654 revlist.extend(range(a, b + off, off)) |
656 revlist.extend(range(a, b + off, off)) |
655 |
657 |
656 for i in revlist or range(log.count() - 1, -1, -1): |
658 for i in revlist or range(log.count() - 1, -1, -1): |
657 show_changeset(ui, repo, filelog=filelog, rev=i) |
659 show_changeset(ui, repo, filelog=filelog, rev=i) |
|
660 if opts['patch']: |
|
661 if filelog: |
|
662 filenode = filelog.node(i) |
|
663 i = filelog.linkrev(filenode) |
|
664 changenode = repo.changelog.node(i) |
|
665 prev, other = repo.changelog.parents(changenode) |
|
666 dodiff(sys.stdout, ui, repo, files, prev, changenode) |
|
667 ui.write("\n") |
|
668 ui.write("\n") |
658 |
669 |
659 def manifest(ui, repo, rev = []): |
670 def manifest(ui, repo, rev = []): |
660 """output the latest or given revision of the project manifest""" |
671 """output the latest or given revision of the project manifest""" |
661 n = repo.manifest.tip() |
672 n = repo.manifest.tip() |
662 if rev: |
673 if rev: |
975 [('p', 'strip', 1, 'path strip'), |
986 [('p', 'strip', 1, 'path strip'), |
976 ('b', 'base', "", 'base path')], |
987 ('b', 'base', "", 'base path')], |
977 "hg import [options] <patches>"), |
988 "hg import [options] <patches>"), |
978 "^init": (init, [], 'hg init'), |
989 "^init": (init, [], 'hg init'), |
979 "^log|history": (log, |
990 "^log|history": (log, |
980 [('r', 'rev', [], 'revision')], |
991 [('r', 'rev', [], 'revision'), |
981 'hg log [-r A] [-r B] [file]'), |
992 ('p', 'patch', None, 'show patch')], |
|
993 'hg log [-r A] [-r B] [-p] [file]'), |
982 "manifest": (manifest, [], 'hg manifest [rev]'), |
994 "manifest": (manifest, [], 'hg manifest [rev]'), |
983 "parents": (parents, [], 'hg parents [node]'), |
995 "parents": (parents, [], 'hg parents [node]'), |
984 "^pull": (pull, |
996 "^pull": (pull, |
985 [('u', 'update', None, 'update working directory')], |
997 [('u', 'update', None, 'update working directory')], |
986 'hg pull [options] [source]'), |
998 'hg pull [options] [source]'), |