# HG changeset patch # User Pierre-Yves David # Date 2021-05-03 10:22:47 # Node ID 24be247a13b407bf1e3a479bcf5f6800232bbb1b # Parent 8d3c2f9d4af7933571c0fd2dca668db2b92d73de revlog: stop usage of `_indexfile` to computing nodemap path We now have the radix explicitely lets use the radix explicitely Differential Revision: https://phab.mercurial-scm.org/D10577 diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -329,12 +329,10 @@ class revlog(object): self._datafile = datafile self.nodemap_file = None self.postfix = postfix + self.opener = opener if persistentnodemap: - self.nodemap_file = nodemaputil.get_nodemap_file( - opener, self._indexfile - ) - - self.opener = opener + self.nodemap_file = nodemaputil.get_nodemap_file(self) + assert target[0] in ALL_KINDS assert len(target) == 2 self.target = target diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -148,9 +148,7 @@ def persist_nodemap(tr, revlog, pending= ) if revlog.nodemap_file is None: if force: - revlog.nodemap_file = get_nodemap_file( - revlog.opener, revlog._indexfile - ) + revlog.nodemap_file = get_nodemap_file(revlog) else: msg = "calling persist nodemap on a revlog without the feature enabled" raise error.ProgrammingError(msg) @@ -653,12 +651,9 @@ def _find_node(block, node): 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): +def get_nodemap_file(revlog): + if revlog.postfix == b'a': + pending_path = revlog.radix + b".n.a" + if revlog.opener.exists(pending_path): return pending_path - else: - return indexfile[:-4] + b".n" - else: - return indexfile[:-2] + b".n" + return revlog.radix + b".n"