diff -r 37ce336ab2dd -r 2a1fac3650a5 hgext/rebase.py --- 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()