Patchwork D8188: nodemap: make sure the nodemap docket is updated after the changelog

login
register
mail settings
Submitter phabricator
Date Feb. 28, 2020, 6:55 p.m.
Message ID <differential-rev-PHID-DREV-esuytcsvrdu3ldzppikr-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/45395/
State Superseded
Headers show

Comments

phabricator - Feb. 28, 2020, 6:55 p.m.
marmoute created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  It is better to have a lagging nodemap than a nodemap pointing to node that does
  not exists yet.
  
  (strictly speaking, the order was already right, however we make it more
  explicit).

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D8188

AFFECTED FILES
  mercurial/revlogutils/nodemap.py

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py
--- a/mercurial/revlogutils/nodemap.py
+++ b/mercurial/revlogutils/nodemap.py
@@ -72,7 +72,9 @@ 
         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
-    callback_id = b"revlog-persistent-nodemap-%s" % revlog.nodemap_file
+
+    # we need to happen after the changelog finalization, in that use "cl-"
+    callback_id = b"nm-revlog-persistent-nodemap-%s" % revlog.nodemap_file
     if tr.hasfinalize(callback_id):
         return  # no need to register again
     tr.addpending(