comparison mercurial/obsutil.py @ 34422:2fd06499dc8e

effectflag: document effect flag Differential Revision: https://phab.mercurial-scm.org/D542
author Boris Feld <boris.feld@octobus.net>
date Thu, 24 Aug 2017 18:40:30 +0200
parents 187bc224554a
children e27f1f04c2cf
comparison
equal deleted inserted replaced
34421:187bc224554a 34422:2fd06499dc8e
305 succs.update(allsuccessors(repo.obsstore, mutable)) 305 succs.update(allsuccessors(repo.obsstore, mutable))
306 known = (n for n in succs if n in nm) 306 known = (n for n in succs if n in nm)
307 foreground = set(repo.set('%ln::', known)) 307 foreground = set(repo.set('%ln::', known))
308 return set(c.node() for c in foreground) 308 return set(c.node() for c in foreground)
309 309
310 # logic around storing and using effect flags 310 # effectflag field
311 #
312 # Effect-flag is a 1-byte bit field used to store what changed between a
313 # changeset and its successor(s).
314 #
315 # The effect flag is stored in obs-markers metadata while we iterate on the
316 # information design. That's why we have the EFFECTFLAGFIELD. If we come up
317 # with an incompatible design for effect flag, we can store a new design under
318 # another field name so we don't break readers. We plan to extend the existing
319 # obsmarkers bit-field when the effect flag design will be stabilized.
320 #
321 # The effect-flag is placed behind an experimental flag
322 # `effect-flags` set to off by default.
323 #
324
311 EFFECTFLAGFIELD = "ef1" 325 EFFECTFLAGFIELD = "ef1"
312 326
313 DESCCHANGED = 1 << 0 # action changed the description 327 DESCCHANGED = 1 << 0 # action changed the description
314 METACHANGED = 1 << 1 # action change the meta 328 METACHANGED = 1 << 1 # action change the meta
315 DIFFCHANGED = 1 << 3 # action change diff introduced by the changeset 329 DIFFCHANGED = 1 << 3 # action change diff introduced by the changeset