mercurial/commands.py
changeset 1545 d69070c2547a
parent 1543 93a9298367e0
child 1547 4dea10839201
equal deleted inserted replaced
1544:b3184bea3eb3 1545:d69070c2547a
   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]: