Mercurial > hg
comparison hgext/rebase.py @ 43567:0fea03924990
index: use `index.get_rev` in `rebase._computeobsoletenotrebased`
Differential Revision: https://phab.mercurial-scm.org/D7350
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 09 Nov 2019 13:23:54 +0100 |
parents | 054846d213ba |
children | b56c6647f65e |
comparison
equal
deleted
inserted
replaced
43566:054846d213ba | 43567:0fea03924990 |
---|---|
2216 obsoletewithoutsuccessorindestination = set() | 2216 obsoletewithoutsuccessorindestination = set() |
2217 obsoleteextinctsuccessors = set() | 2217 obsoleteextinctsuccessors = set() |
2218 | 2218 |
2219 assert repo.filtername is None | 2219 assert repo.filtername is None |
2220 cl = repo.changelog | 2220 cl = repo.changelog |
2221 nodemap = cl.nodemap | 2221 get_rev = cl.index.get_rev |
2222 extinctrevs = set(repo.revs(b'extinct()')) | 2222 extinctrevs = set(repo.revs(b'extinct()')) |
2223 for srcrev in rebaseobsrevs: | 2223 for srcrev in rebaseobsrevs: |
2224 srcnode = cl.node(srcrev) | 2224 srcnode = cl.node(srcrev) |
2225 # XXX: more advanced APIs are required to handle split correctly | 2225 # XXX: more advanced APIs are required to handle split correctly |
2226 successors = set(obsutil.allsuccessors(repo.obsstore, [srcnode])) | 2226 successors = set(obsutil.allsuccessors(repo.obsstore, [srcnode])) |
2227 # obsutil.allsuccessors includes node itself | 2227 # obsutil.allsuccessors includes node itself |
2228 successors.remove(srcnode) | 2228 successors.remove(srcnode) |
2229 succrevs = {nodemap[s] for s in successors if s in nodemap} | 2229 succrevs = {get_rev(s) for s in successors} |
2230 succrevs.discard(None) | |
2230 if succrevs.issubset(extinctrevs): | 2231 if succrevs.issubset(extinctrevs): |
2231 # all successors are extinct | 2232 # all successors are extinct |
2232 obsoleteextinctsuccessors.add(srcrev) | 2233 obsoleteextinctsuccessors.add(srcrev) |
2233 if not successors: | 2234 if not successors: |
2234 # no successor | 2235 # no successor |