hgext/rebase.py
changeset 42975 43c84b816445
parent 42613 35ebdbb38efb
child 43076 2372284d9457
--- a/hgext/rebase.py	Sat Sep 21 13:42:23 2019 -0400
+++ b/hgext/rebase.py	Wed Sep 25 10:59:29 2019 -0400
@@ -1783,20 +1783,18 @@
             oldnode = tonode(rev)
             newnode = collapsedas or tonode(newrev)
             moves[oldnode] = newnode
-            if not keepf:
-                succs = None
-                if rev in skipped:
-                    if stripcleanup or not repo[rev].obsolete():
-                        succs = ()
-                elif collapsedas:
-                    collapsednodes.append(oldnode)
-                else:
-                    succs = (newnode,)
-                if succs is not None:
-                    replacements[(oldnode,)] = succs
+            succs = None
+            if rev in skipped:
+                if stripcleanup or not repo[rev].obsolete():
+                    succs = ()
+            elif collapsedas:
+                collapsednodes.append(oldnode)
+            else:
+                succs = (newnode,)
+            if succs is not None:
+                replacements[(oldnode,)] = succs
     if collapsednodes:
         replacements[tuple(collapsednodes)] = (collapsedas,)
-    scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup)
     if fm:
         hf = fm.hexfunc
         fl = fm.formatlist
@@ -1807,6 +1805,9 @@
                 changes[hf(oldn)] = fl([hf(n) for n in newn], name='node')
         nodechanges = fd(changes, key="oldnode", value="newnodes")
         fm.data(nodechanges=nodechanges)
+    if keepf:
+        replacements = {}
+    scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup)
 
 def pullrebase(orig, ui, repo, *args, **opts):
     'Call rebase after pull if the latter has been invoked with --rebase'