##// END OF EJS Templates
obsolete: speed up computation of bumped revset...
Laurent Charignon -
r24927:cd006823 default
parent child Browse files
Show More
@@ -1139,19 +1139,18 b' def _computebumpedset(repo):'
1139 public = phases.public
1139 public = phases.public
1140 cl = repo.changelog
1140 cl = repo.changelog
1141 torev = cl.nodemap.get
1141 torev = cl.nodemap.get
1142 obs = getrevs(repo, 'obsolete')
1142 for ctx in repo.set('(not public()) and (not obsolete())'):
1143 for rev in repo:
1143 rev = ctx.rev()
1144 # We only evaluate mutable, non-obsolete revision
1144 # We only evaluate mutable, non-obsolete revision
1145 if (public < phase(repo, rev)) and (rev not in obs):
1145 node = ctx.node()
1146 node = cl.node(rev)
1146 # (future) A cache of precursors may worth if split is very common
1147 # (future) A cache of precursors may worth if split is very common
1147 for pnode in allprecursors(repo.obsstore, [node],
1148 for pnode in allprecursors(repo.obsstore, [node],
1148 ignoreflags=bumpedfix):
1149 ignoreflags=bumpedfix):
1149 prev = torev(pnode) # unfiltered! but so is phasecache
1150 prev = torev(pnode) # unfiltered! but so is phasecache
1150 if (prev is not None) and (phase(repo, prev) <= public):
1151 if (prev is not None) and (phase(repo, prev) <= public):
1151 # we have a public precursors
1152 # we have a public precursors
1152 bumped.add(rev)
1153 bumped.add(rev)
1153 break # Next draft!
1154 break # Next draft!
1155 return bumped
1154 return bumped
1156
1155
1157 @cachefor('divergent')
1156 @cachefor('divergent')
General Comments 0
You need to be logged in to leave comments. Login now