Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 918:fe69ecd3437c
hg cat: accept changeset hashes
author | mpm@selenic.com |
---|---|
date | Tue, 16 Aug 2005 15:22:44 -0800 |
parents | 7f3f55903496 |
children | 270756aa29d5 |
comparison
equal
deleted
inserted
replaced
917:7f3f55903496 | 918:fe69ecd3437c |
---|---|
453 | 453 |
454 def cat(ui, repo, file1, rev=None, **opts): | 454 def cat(ui, repo, file1, rev=None, **opts): |
455 """output the latest or given revision of a file""" | 455 """output the latest or given revision of a file""" |
456 r = repo.file(relpath(repo, [file1])[0]) | 456 r = repo.file(relpath(repo, [file1])[0]) |
457 if rev: | 457 if rev: |
458 n = r.lookup(rev) | 458 try: |
459 # assume all revision numbers are for changesets | |
460 n = repo.lookup(rev) | |
461 change = repo.changelog.read(n) | |
462 m = repo.manifest.read(change[0]) | |
463 n = m[relpath(repo, [file1])[0]] | |
464 except hg.RepoError, KeyError: | |
465 n = r.lookup(rev) | |
459 else: | 466 else: |
460 n = r.tip() | 467 n = r.tip() |
461 fp = make_file(repo, r, opts['output'], node=n) | 468 fp = make_file(repo, r, opts['output'], node=n) |
462 fp.write(r.read(n)) | 469 fp.write(r.read(n)) |
463 | 470 |