equal
deleted
inserted
replaced
73 |
73 |
74 if not p.obsolete(): |
74 if not p.obsolete(): |
75 return p.rev() |
75 return p.rev() |
76 obs = repo[p] |
76 obs = repo[p] |
77 ui = repo.ui |
77 ui = repo.ui |
78 newer = obsutil.successorssets(repo, obs.node()) |
78 cache = {} |
|
79 newer = obsutil.successorssets(repo, obs.node(), cache=cache) |
79 # search of a parent which is not killed |
80 # search of a parent which is not killed |
80 while not newer: |
81 while not newer: |
81 ui.debug(b"stabilize target %s is plain dead," |
82 ui.debug(b"stabilize target %s is plain dead," |
82 b" trying to stabilize on its parent\n" % |
83 b" trying to stabilize on its parent\n" % |
83 obs) |
84 obs) |
84 obs = obs.p1() |
85 obs = obs.p1() |
85 newer = obsutil.successorssets(repo, obs.node()) |
86 newer = obsutil.successorssets(repo, obs.node(), cache=cache) |
86 if 1 < len(newer): |
87 if 1 < len(newer): |
87 # divergence case |
88 # divergence case |
88 # we should pick as arbitrary one |
89 # we should pick as arbitrary one |
89 raise MultipleSuccessorsError(newer) |
90 raise MultipleSuccessorsError(newer) |
90 elif 1 < len(newer[0]): |
91 elif 1 < len(newer[0]): |