hgext/rebase.py
branchstable
changeset 18514 2a1fac3650a5
parent 18512 22978b82ab4b
child 18516 9fbeb61b8ad2
--- a/hgext/rebase.py	Wed Jan 30 15:35:00 2013 -0800
+++ b/hgext/rebase.py	Wed Jan 30 16:08:32 2013 -0800
@@ -316,7 +316,7 @@
             clearrebased(ui, repo, state, skipped, collapsedas)
 
         if currentbookmarks:
-            updatebookmarks(repo, nstate, currentbookmarks, **opts)
+            updatebookmarks(repo, dest, nstate, currentbookmarks)
 
         clearstatus(repo)
         ui.note(_("rebase completed\n"))
@@ -493,13 +493,15 @@
         mq.seriesdirty = True
         mq.savedirty()
 
-def updatebookmarks(repo, nstate, originalbookmarks, **opts):
-    'Move bookmarks to their correct changesets'
+def updatebookmarks(repo, dest, nstate, originalbookmarks):
+    'Move bookmarks to their correct changesets, and delete divergent ones'
+    destnode = dest.node()
     marks = repo._bookmarks
     for k, v in originalbookmarks.iteritems():
         if v in nstate:
             # update the bookmarks for revs that have moved
             marks[k] = nstate[v]
+            bookmarks.deletedivergent(repo, [destnode], k)
 
     marks.write()