diff mercurial/context.py @ 37391:3198d5a2514e

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
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 06 Apr 2018 09:34:44 -0700
parents 167b22a906f3
children 067e8d1178a2
line wrap: on
line diff
--- 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: