# HG changeset patch # User Boris Feld # Date 2018-09-26 21:37:43 # Node ID bae6f1418a95ad54b99ac13ef601f77ddd4e4b25 # Parent 0428feb1f0d7fbe49b7ada4a1754e8341bebb029 obsolete: explicitly pass relation items to effectflag computation To track folds, we are about to change the content of `rel`. To simplify this change, we update the `geteffectflag` function beforehand. diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -1016,7 +1016,7 @@ def createmarkers(repo, relations, flag= if saveeffectflag: # The effect flag is saved in a versioned field name for future # evolution - effectflag = obsutil.geteffectflag(rel) + effectflag = obsutil.geteffectflag(prec, sucs) localmetadata[obsutil.EFFECTFLAGFIELD] = "%d" % effectflag # Creating the marker causes the hidden cache to become invalid, diff --git a/mercurial/obsutil.py b/mercurial/obsutil.py --- a/mercurial/obsutil.py +++ b/mercurial/obsutil.py @@ -413,15 +413,13 @@ def _cmpdiff(leftctx, rightctx): return False return True -def geteffectflag(relation): +def geteffectflag(source, successors): """ From an obs-marker relation, compute what changed between the predecessor and the successor. """ effects = 0 - source = relation[0] - - for changectx in relation[1]: + for changectx in successors: # Check if description has changed if changectx.description() != source.description(): effects |= DESCCHANGED