censor: do not process sidedata of censored revision while bundling
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sun, 30 May 2021 20:42:51 +0200
changeset 47341 24ea3ef35238
parent 47340 3f00665bbea0
child 47342 dc3800569157
censor: do not process sidedata of censored revision while bundling The revision is censored, we should ignore it. Differential Revision: https://phab.mercurial-scm.org/D10801
mercurial/utils/storageutil.py
--- a/mercurial/utils/storageutil.py	Fri May 28 20:00:27 2021 +0200
+++ b/mercurial/utils/storageutil.py	Sun May 30 20:42:51 2021 +0200
@@ -481,13 +481,18 @@
         serialized_sidedata = None
         sidedata_flags = (0, 0)
         if sidedata_helpers:
-            old_sidedata = store.sidedata(rev)
-            sidedata, sidedata_flags = sidedatamod.run_sidedata_helpers(
-                store=store,
-                sidedata_helpers=sidedata_helpers,
-                sidedata=old_sidedata,
-                rev=rev,
-            )
+            try:
+                old_sidedata = store.sidedata(rev)
+            except error.CensoredNodeError:
+                # skip any potential sidedata of the censored revision
+                sidedata = {}
+            else:
+                sidedata, sidedata_flags = sidedatamod.run_sidedata_helpers(
+                    store=store,
+                    sidedata_helpers=sidedata_helpers,
+                    sidedata=old_sidedata,
+                    rev=rev,
+                )
             if sidedata:
                 serialized_sidedata = sidedatamod.serialize_sidedata(sidedata)