--- a/hgext/rebase.py Wed Sep 26 21:51:29 2018 +0200
+++ b/hgext/rebase.py Wed Sep 26 22:05:28 2018 +0200
@@ -1763,17 +1763,21 @@
tonode = repo.changelog.node
replacements = {}
moves = {}
+ stripcleanup = not obsolete.isenabled(repo, obsolete.createmarkersopt)
for rev, newrev in sorted(state.items()):
if newrev >= 0 and newrev != rev:
oldnode = tonode(rev)
newnode = collapsedas or tonode(newrev)
moves[oldnode] = newnode
if not keepf:
+ succs = None
if rev in skipped:
- succs = ()
+ if stripcleanup or not repo[rev].obsolete():
+ succs = ()
else:
succs = (newnode,)
- replacements[oldnode] = succs
+ if succs is not None:
+ replacements[oldnode] = succs
scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup)
if fm:
hf = fm.hexfunc