diff hgext3rd/topic/compat.py @ 4929:bb2b4f6c99dc

compat: compatibility for cl.nodemap.get vs cl.index.get_rev
author Anton Shestakov <av6@dwimlabs.net>
date Wed, 13 Nov 2019 13:47:55 +0700
parents f9743b13de6d
children acc7e27fa5c6
line wrap: on
line diff
--- a/hgext3rd/topic/compat.py	Wed Nov 13 13:43:46 2019 +0700
+++ b/hgext3rd/topic/compat.py	Wed Nov 13 13:47:55 2019 +0700
@@ -11,6 +11,7 @@
     obsolete,
     pycompat,
     registrar,
+    util,
 )
 
 getmarkers = None
@@ -44,3 +45,11 @@
     if not category:
         return {}
     return {'helpcategory': category}
+
+# nodemap.get and index.[has_node|rev|get_rev]
+# hg <= 5.3 (02802fa87b74)
+def getgetrev(cl):
+    """Returns index.get_rev or nodemap.get (for pre-5.3 Mercurial)."""
+    if util.safehasattr(cl.index, 'get_rev'):
+        return cl.index.get_rev
+    return cl.nodemap.get