diff mercurial/configitems.py @ 49475:0c70d888a484

phase: introduce a dedicated requirement for the `archived` phase See inline documentation for details.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 16 Aug 2022 19:04:23 +0200
parents cfff73cab721
children 74fb1842f8b9
line wrap: on
line diff
--- a/mercurial/configitems.py	Tue Aug 16 18:20:42 2022 +0200
+++ b/mercurial/configitems.py	Tue Aug 16 19:04:23 2022 +0200
@@ -1431,6 +1431,23 @@
     default=False,
     experimental=True,
 )
+# The interaction between the archived phase and obsolescence markers needs to
+# be sorted out before wider usage of this are to be considered.
+#
+# At the time this message is written, behavior when archiving obsolete
+# changeset differ significantly from stripping. As part of stripping, we also
+# remove the obsolescence marker associated to the stripped changesets,
+# revealing the precedecessors changesets when applicable. When archiving, we
+# don't touch the obsolescence markers, keeping everything hidden. This can
+# result in quite confusing situation for people combining exchanging draft
+# with the archived phases. As some markers needed by others may be skipped
+# during exchange.
+coreconfigitem(
+    b'format',
+    b'exp-archived-phase',
+    default=False,
+    experimental=True,
+)
 coreconfigitem(
     b'shelve',
     b'store',