revlog: refactor logic to compute nodemap file in separate function
authorPulkit Goyal <7895pulkit@gmail.com>
Sun, 31 Jan 2021 23:38:31 +0530
changeset 46469 835aafb2543f
parent 46468 83f037acf71a
child 46470 dadb4db55661
revlog: refactor logic to compute nodemap file in separate function I will like to use it one more place. Differential Revision: https://phab.mercurial-scm.org/D9933
mercurial/revlog.py
mercurial/revlogutils/nodemap.py
--- a/mercurial/revlog.py	Sun Jan 31 23:34:59 2021 +0530
+++ b/mercurial/revlog.py	Sun Jan 31 23:38:31 2021 +0530
@@ -448,14 +448,9 @@
         self.datafile = datafile or (indexfile[:-2] + b".d")
         self.nodemap_file = None
         if persistentnodemap:
-            if indexfile.endswith(b'.a'):
-                pending_path = indexfile[:-4] + b".n.a"
-                if opener.exists(pending_path):
-                    self.nodemap_file = pending_path
-                else:
-                    self.nodemap_file = indexfile[:-4] + b".n"
-            else:
-                self.nodemap_file = indexfile[:-2] + b".n"
+            self.nodemap_file = nodemaputil.get_nodemap_file(
+                opener, self.indexfile
+            )
 
         self.opener = opener
         #  When True, indexfile is opened with checkambig=True at writing, to
--- a/mercurial/revlogutils/nodemap.py	Sun Jan 31 23:34:59 2021 +0530
+++ b/mercurial/revlogutils/nodemap.py	Sun Jan 31 23:38:31 2021 +0530
@@ -634,3 +634,14 @@
     if isinstance(entry, dict):
         return _find_node(entry, node[1:])
     return entry
+
+
+def get_nodemap_file(opener, indexfile):
+    if indexfile.endswith(b'.a'):
+        pending_path = indexfile[:-4] + b".n.a"
+        if opener.exists(pending_path):
+            return pending_path
+        else:
+            return indexfile[:-4] + b".n"
+    else:
+        return indexfile[:-2] + b".n"