comparison mercurial/context.py @ 18084:ee3b5fb648c7

clfilter: ensure context raise RepoLookupError when the revision is filtered Currently the code path of `changectx(filteredrepo, rev)` call `filteredrepo.changelog.node(rev)`. When `rev` is filtered this raise an unhandled `IndexError`. This case now raise a `RepoLookupError` as other error case do.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Mon, 17 Dec 2012 18:09:41 +0100
parents 03604f46d48a
children dc526561111c
comparison
equal deleted inserted replaced
18083:717c692fa449 18084:ee3b5fb648c7
23 if changeid == '': 23 if changeid == '':
24 changeid = '.' 24 changeid = '.'
25 self._repo = repo 25 self._repo = repo
26 26
27 if isinstance(changeid, int): 27 if isinstance(changeid, int):
28 try:
29 self._node = repo.changelog.node(changeid)
30 except IndexError:
31 raise error.RepoLookupError(
32 _("unknown revision '%s'") % changeid)
28 self._rev = changeid 33 self._rev = changeid
29 self._node = repo.changelog.node(changeid)
30 return 34 return
31 if isinstance(changeid, long): 35 if isinstance(changeid, long):
32 changeid = str(changeid) 36 changeid = str(changeid)
33 if changeid == '.': 37 if changeid == '.':
34 self._node = repo.dirstate.p1() 38 self._node = repo.dirstate.p1()