mercurial/commands.py
changeset 1242 4a6efec8b698
parent 1241 3b4f05ff3130
child 1244 937ee88da3ef
equal deleted inserted replaced
1241:3b4f05ff3130 1242:4a6efec8b698
   577             # assume all revision numbers are for changesets
   577             # assume all revision numbers are for changesets
   578             n = repo.lookup(rev)
   578             n = repo.lookup(rev)
   579             change = repo.changelog.read(n)
   579             change = repo.changelog.read(n)
   580             m = repo.manifest.read(change[0])
   580             m = repo.manifest.read(change[0])
   581             n = m[relpath(repo, [file1])[0]]
   581             n = m[relpath(repo, [file1])[0]]
   582         except hg.RepoError, KeyError:
   582         except (hg.RepoError, KeyError):
   583             n = r.lookup(rev)
   583             try:
       
   584                 n = r.lookup(rev)
       
   585             except KeyError, inst:
       
   586                 raise util.Abort('cannot find file %s in rev %s', file1, rev)
   584     else:
   587     else:
   585         n = r.tip()
   588         n = r.tip()
   586     fp = make_file(repo, r, opts['output'], node=n)
   589     fp = make_file(repo, r, opts['output'], node=n)
   587     fp.write(r.read(n))
   590     fp.write(r.read(n))
   588 
   591