# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 2021-01-31 18:04:59 # Node ID 83f037acf71a8773c88a597c7ea35cb572147d7e # Parent 45c3a263d5d1464aa61e59f4d376a5fd9438125a nodemap: make `_persist_nodemap` a public function I will like to have a utility function using which we can directly write out nodemap for a repository without going through the recloning process. This function seems like the one containing important pieces for that. Let's make it public. Differential Revision: https://phab.mercurial-scm.org/D9932 diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -81,9 +81,9 @@ def setup_persistent_nodemap(tr, revlog) if tr.hasfinalize(callback_id): return # no need to register again tr.addpending( - callback_id, lambda tr: _persist_nodemap(tr, revlog, pending=True) + callback_id, lambda tr: persist_nodemap(tr, revlog, pending=True) ) - tr.addfinalize(callback_id, lambda tr: _persist_nodemap(tr, revlog)) + tr.addfinalize(callback_id, lambda tr: persist_nodemap(tr, revlog)) class _NoTransaction(object): @@ -123,12 +123,12 @@ def update_persistent_nodemap(revlog): return # we do not use persistent_nodemap on this revlog notr = _NoTransaction() - _persist_nodemap(notr, revlog) + persist_nodemap(notr, revlog) for k in sorted(notr._postclose): notr._postclose[k](None) -def _persist_nodemap(tr, revlog, pending=False): +def persist_nodemap(tr, revlog, pending=False): """Write nodemap data on disk for a given revlog""" if getattr(revlog, 'filteredrevs', ()): raise error.ProgrammingError(