nodemap: skip persistent nodemap warming for revlog not using it
Before this patch, the usual checking (especially, inline-ess) were not
performed when warming the cache through `hg debugupdatecache`.
This is now fixed.
Differential Revision: https://phab.mercurial-scm.org/D8408
--- a/mercurial/revlogutils/nodemap.py Thu Apr 16 22:56:03 2020 +0200
+++ b/mercurial/revlogutils/nodemap.py Mon Apr 13 18:04:55 2020 +0200
@@ -112,6 +112,11 @@
To be used for updating the nodemap on disk outside of a normal transaction
setup (eg, `debugupdatecache`).
"""
+ if revlog._inline:
+ return # inlined revlog are too small for this to be relevant
+ if revlog.nodemap_file is None:
+ return # we do not use persistent_nodemap on this revlog
+
notr = _NoTransaction()
_persist_nodemap(notr, revlog)
for k in sorted(notr._postclose):