# HG changeset patch # User Boris Feld # Date 1537997863 -7200 # 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 -r 0428feb1f0d7 -r bae6f1418a95 mercurial/obsolete.py --- a/mercurial/obsolete.py Wed Sep 26 22:45:44 2018 +0200 +++ b/mercurial/obsolete.py Wed Sep 26 23:37:43 2018 +0200 @@ -1016,7 +1016,7 @@ 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 -r 0428feb1f0d7 -r bae6f1418a95 mercurial/obsutil.py --- a/mercurial/obsutil.py Wed Sep 26 22:45:44 2018 +0200 +++ b/mercurial/obsutil.py Wed Sep 26 23:37:43 2018 +0200 @@ -413,15 +413,13 @@ 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