Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 552:2204311609a0
Allow specifying revisions in 'hg log' like with 'hg diff'.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Allow specifying revisions in 'hg log' like with 'hg diff'.
manifest hash: 62d48dbaa0213b36f08dc15bc3b1a1f35ecd89f0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFCxPbeW7P1GVgWeRoRApOgAJsFYCQ8EEpYDQz8t53bRXfrP/MXwwCfWDV5
dLv6zwG6/I++SyChFkTPfAY=
=cg0V
-----END PGP SIGNATURE-----
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 01 Jul 2005 08:55:10 +0100 |
parents | 4fc63e22b1fe |
children | f2442a6a5893 |
comparison
equal
deleted
inserted
replaced
547:4fc63e22b1fe | 552:2204311609a0 |
---|---|
513 if source: | 513 if source: |
514 ui.warn("no longer supported: use \"hg clone\" instead\n") | 514 ui.warn("no longer supported: use \"hg clone\" instead\n") |
515 sys.exit(1) | 515 sys.exit(1) |
516 repo = hg.repository(ui, ".", create=1) | 516 repo = hg.repository(ui, ".", create=1) |
517 | 517 |
518 def log(ui, repo, f = None): | 518 def log(ui, repo, f=None, **opts): |
519 """show the revision history of the repository or a single file""" | 519 """show the revision history of the repository or a single file""" |
520 if f: | 520 if f: |
521 f = relpath(repo, [f])[0] | 521 filelog = repo.file(relpath(repo, [f])[0]) |
522 r = repo.file(f) | 522 log = filelog |
523 for i in range(r.count() - 1, -1, -1): | 523 lookup = filelog.lookup |
524 show_changeset(ui, repo, filelog=r, rev=i) | 524 else: |
525 else: | 525 filelog = None |
526 for i in range(repo.changelog.count() - 1, -1, -1): | 526 log = repo.changelog |
527 show_changeset(ui, repo, rev=i) | 527 lookup = repo.lookup |
528 revlist = [] | |
529 revs = [log.rev(lookup(rev)) for rev in opts['rev']] | |
530 while revs: | |
531 if len(revs) == 1: | |
532 revlist.append(revs.pop(0)) | |
533 else: | |
534 a = revs.pop(0) | |
535 b = revs.pop(0) | |
536 off = a > b and -1 or 1 | |
537 revlist.extend(range(a, b + off, off)) | |
538 for i in revlist or range(log.count() - 1, -1, -1): | |
539 show_changeset(ui, repo, filelog=filelog, rev=i) | |
528 | 540 |
529 def manifest(ui, repo, rev = []): | 541 def manifest(ui, repo, rev = []): |
530 """output the latest or given revision of the project manifest""" | 542 """output the latest or given revision of the project manifest""" |
531 n = repo.manifest.tip() | 543 n = repo.manifest.tip() |
532 if rev: | 544 if rev: |
763 "import|patch": (import_, | 775 "import|patch": (import_, |
764 [('p', 'strip', 1, 'path strip'), | 776 [('p', 'strip', 1, 'path strip'), |
765 ('b', 'base', "", 'base path')], | 777 ('b', 'base', "", 'base path')], |
766 "hg import [options] <patches>"), | 778 "hg import [options] <patches>"), |
767 "init": (init, [], 'hg init'), | 779 "init": (init, [], 'hg init'), |
768 "log|history": (log, [], 'hg log [file]'), | 780 "log|history": (log, |
781 [('r', 'rev', [], 'revision')], | |
782 'hg log [-r A] [-r B] [file]'), | |
769 "manifest": (manifest, [], 'hg manifest [rev]'), | 783 "manifest": (manifest, [], 'hg manifest [rev]'), |
770 "parents": (parents, [], 'hg parents [node]'), | 784 "parents": (parents, [], 'hg parents [node]'), |
771 "pull": (pull, | 785 "pull": (pull, |
772 [('u', 'update', None, 'update working directory')], | 786 [('u', 'update', None, 'update working directory')], |
773 'hg pull [options] [source]'), | 787 'hg pull [options] [source]'), |