effectflag: document effect flag
authorBoris Feld <boris.feld@octobus.net>
Thu, 24 Aug 2017 18:40:30 +0200
changeset 34422 2fd06499dc8e
parent 34421 187bc224554a
child 34423 1baa077214ae
effectflag: document effect flag Differential Revision: https://phab.mercurial-scm.org/D542
mercurial/obsutil.py
--- a/mercurial/obsutil.py	Thu Jul 06 15:00:07 2017 +0200
+++ b/mercurial/obsutil.py	Thu Aug 24 18:40:30 2017 +0200
@@ -307,7 +307,21 @@
             foreground = set(repo.set('%ln::', known))
     return set(c.node() for c in foreground)
 
-# logic around storing and using effect flags
+# effectflag field
+#
+# Effect-flag is a 1-byte bit field used to store what changed between a
+# changeset and its successor(s).
+#
+# The effect flag is stored in obs-markers metadata while we iterate on the
+# information design. That's why we have the EFFECTFLAGFIELD. If we come up
+# with an incompatible design for effect flag, we can store a new design under
+# another field name so we don't break readers. We plan to extend the existing
+# obsmarkers bit-field when the effect flag design will be stabilized.
+#
+# The effect-flag is placed behind an experimental flag
+# `effect-flags` set to off by default.
+#
+
 EFFECTFLAGFIELD = "ef1"
 
 DESCCHANGED = 1 << 0 # action changed the description