##// END OF EJS Templates
obsolete: avoid infinite loop from obs-cycle in divergence (issue4126)...
Pierre-Yves David -
r24393:77eace2a default
parent child Browse files
Show More
@@ -1164,8 +1164,12 b' def _computedivergentset(repo):'
1164 for ctx in repo.set('(not public()) - obsolete()'):
1164 for ctx in repo.set('(not public()) - obsolete()'):
1165 mark = obsstore.precursors.get(ctx.node(), ())
1165 mark = obsstore.precursors.get(ctx.node(), ())
1166 toprocess = set(mark)
1166 toprocess = set(mark)
1167 seen = set()
1167 while toprocess:
1168 while toprocess:
1168 prec = toprocess.pop()[0]
1169 prec = toprocess.pop()[0]
1170 if prec in seen:
1171 continue # emergency cycle hanging prevention
1172 seen.add(prec)
1169 if prec not in newermap:
1173 if prec not in newermap:
1170 successorssets(repo, prec, newermap)
1174 successorssets(repo, prec, newermap)
1171 newer = [n for n in newermap[prec] if n]
1175 newer = [n for n in newermap[prec] if n]
General Comments 0
You need to be logged in to leave comments. Login now