##// END OF EJS Templates
effectflag: store an empty effect flag for the moment...
Boris Feld -
r34414:014d467f default
parent child Browse files
Show More
@@ -1043,6 +1043,11 b' def createmarkers(repo, relations, flag='
1043 1043 if useoperation and operation:
1044 1044 metadata['operation'] = operation
1045 1045
1046 # Effect flag metadata handling
1047 saveeffectflag = repo.ui.configbool('experimental',
1048 'effect-flags',
1049 False)
1050
1046 1051 tr = repo.transaction('add-obsolescence-marker')
1047 1052 try:
1048 1053 markerargs = []
@@ -1066,6 +1071,13 b' def createmarkers(repo, relations, flag='
1066 1071 raise error.Abort(_("changeset %s cannot obsolete itself")
1067 1072 % prec)
1068 1073
1074 # Effect flag can be different by relation
1075 if saveeffectflag:
1076 # The effect flag is saved in a versioned field name for future
1077 # evolution
1078 effectflag = obsutil.geteffectflag(rel)
1079 localmetadata[obsutil.EFFECTFLAGFIELD] = "%d" % effectflag
1080
1069 1081 # Creating the marker causes the hidden cache to become invalid,
1070 1082 # which causes recomputation when we ask for prec.parents() above.
1071 1083 # Resulting in n^2 behavior. So let's prepare all of the args
@@ -305,6 +305,19 b' def foreground(repo, nodes):'
305 305 foreground = set(repo.set('%ln::', known))
306 306 return set(c.node() for c in foreground)
307 307
308 # logic around storing and using effect flags
309 EFFECTFLAGFIELD = "ef1"
310
311 def geteffectflag(relation):
312 """ From an obs-marker relation, compute what changed between the
313 predecessor and the successor.
314 """
315 effects = 0
316
317 source = relation[0]
318
319 return effects
320
308 321 def getobsoleted(repo, tr):
309 322 """return the set of pre-existing revisions obsoleted by a transaction"""
310 323 torev = repo.unfiltered().changelog.nodemap.get
General Comments 0
You need to be logged in to leave comments. Login now