nodetree: simplify a conditionnal in shortesthexnodeidprefix
authorPierre-Yves David <pierre-yves.david@octobus.net>
Wed, 11 Dec 2019 17:35:29 +0100
changeset 43911 f2de8dc9c52f
parent 43910 c41ed5d4f770
child 43912 a89381e04c58
nodetree: simplify a conditionnal in shortesthexnodeidprefix instead of try to catch some attribute error, we could just nicely look if the attribute will be available. This make the code simpler to follow and less error prone since we no longer rely on a wider attribute catching. Differential Revision: https://phab.mercurial-scm.org/D7651
mercurial/scmutil.py
--- a/mercurial/scmutil.py	Wed Dec 11 15:06:09 2019 -0800
+++ b/mercurial/scmutil.py	Wed Dec 11 17:35:29 2019 +0100
@@ -545,12 +545,10 @@
             if cache is not None:
                 nodetree = cache.get(b'disambiguationnodetree')
             if not nodetree:
-                try:
+                if util.safehasattr(parsers, 'nodetree'):
+                    # The CExt is the only implementation to provide a nodetree
+                    # class so far.
                     nodetree = parsers.nodetree(cl.index, len(revs))
-                except AttributeError:
-                    # no native nodetree
-                    pass
-                else:
                     for r in revs:
                         nodetree.insert(r)
                     if cache is not None: