632 %s basename of file being printed |
632 %s basename of file being printed |
633 %d dirname of file being printed, or '.' if in repo root |
633 %d dirname of file being printed, or '.' if in repo root |
634 %p root-relative path name of file being printed |
634 %p root-relative path name of file being printed |
635 """ |
635 """ |
636 mf = {} |
636 mf = {} |
637 if opts['rev']: |
637 rev = opts['rev'] |
638 change = repo.changelog.read(repo.lookup(opts['rev'])) |
638 if rev: |
|
639 change = repo.changelog.read(repo.lookup(rev)) |
639 mf = repo.manifest.read(change[0]) |
640 mf = repo.manifest.read(change[0]) |
640 for src, abs, rel, exact in walk(repo, (file1,) + pats, opts): |
641 for src, abs, rel, exact in walk(repo, (file1,) + pats, opts): |
641 r = repo.file(abs) |
642 r = repo.file(abs) |
642 if opts['rev']: |
643 if rev: |
643 try: |
644 try: |
644 n = mf[abs] |
645 n = mf[abs] |
645 except (hg.RepoError, KeyError): |
646 except (hg.RepoError, KeyError): |
646 try: |
647 try: |
647 n = r.lookup(rev) # XXX rev undefined! |
648 n = r.lookup(rev) |
648 except KeyError, inst: |
649 except KeyError, inst: |
649 raise util.Abort(_('cannot find file %s in rev %s'), rel, rev) |
650 raise util.Abort(_('cannot find file %s in rev %s'), rel, rev) |
650 else: |
651 else: |
651 n = r.tip() |
652 n = r.tip() |
652 fp = make_file(repo, r, opts['output'], node=n, pathname=abs) |
653 fp = make_file(repo, r, opts['output'], node=n, pathname=abs) |
2468 sys.stderr.write(_("abort: %s\n") % inst) |
2469 sys.stderr.write(_("abort: %s\n") % inst) |
2469 sys.exit(1) |
2470 sys.exit(1) |
2470 |
2471 |
2471 external = [] |
2472 external = [] |
2472 for x in u.extensions(): |
2473 for x in u.extensions(): |
2473 def on_exception(Exception, inst): # XXX Exception is a builtin name!? |
2474 def on_exception(exc, inst): |
2474 u.warn(_("*** failed to import extension %s\n") % x[1]) |
2475 u.warn(_("*** failed to import extension %s\n") % x[1]) |
2475 u.warn("%s\n" % inst) |
2476 u.warn("%s\n" % inst) |
2476 if "--traceback" in sys.argv[1:]: |
2477 if "--traceback" in sys.argv[1:]: |
2477 traceback.print_exc() |
2478 traceback.print_exc() |
2478 if x[1]: |
2479 if x[1]: |