mercurial/scmutil.py
changeset 43917 f2de8dc9c52f
parent 43795 b5f183eedd98
child 44003 60de488cad11
--- 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: