context: stop catching RepoLookupError from namespace.singlenode()
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 06 Apr 2018 09:34:44 -0700
changeset 37391 3198d5a2514e
parent 37390 b95992605ef1
child 37392 a4f02a17420d
context: stop catching RepoLookupError from namespace.singlenode() As pointed out by Yuya, the RepoLookupError was there for catching errors from repo.branchtip(). However, since 885c0290f7d5 (localrepo: add ignoremissing parameter to branchtip, 2014-10-16), that should no longer happen. I think it should now be an error if a namespace raises a RepoLookupError, so we propagate the exception up and and make it easy to fix, rather than trying to interpret the changeid as nodeid prefix and raise a general "unknown revision '...'" error. I also don't think we should catch FilteredLookupError and LookupError from the changelog.rev() call, for the same reason as above: If a namespace returns a node that doesn't exist, we should provide a more helpful exception than "unknown revision '...'". Differential Revision: https://phab.mercurial-scm.org/D3145
mercurial/context.py
--- a/mercurial/context.py	Thu Apr 05 18:02:42 2018 +0200
+++ b/mercurial/context.py	Fri Apr 06 09:34:44 2018 -0700
@@ -449,10 +449,6 @@
                 return
             except KeyError:
                 pass
-            except error.FilteredRepoLookupError:
-                raise
-            except error.RepoLookupError:
-                pass
 
             self._node = repo.unfiltered().changelog._partialmatch(changeid)
             if self._node is not None: