314 if collapsef: |
314 if collapsef: |
315 collapsedas = newrev |
315 collapsedas = newrev |
316 clearrebased(ui, repo, state, skipped, collapsedas) |
316 clearrebased(ui, repo, state, skipped, collapsedas) |
317 |
317 |
318 if currentbookmarks: |
318 if currentbookmarks: |
319 updatebookmarks(repo, nstate, currentbookmarks, **opts) |
319 updatebookmarks(repo, dest, nstate, currentbookmarks) |
320 |
320 |
321 clearstatus(repo) |
321 clearstatus(repo) |
322 ui.note(_("rebase completed\n")) |
322 ui.note(_("rebase completed\n")) |
323 util.unlinkpath(repo.sjoin('undo'), ignoremissing=True) |
323 util.unlinkpath(repo.sjoin('undo'), ignoremissing=True) |
324 if skipped: |
324 if skipped: |
491 if mq.guard_re.split(s, 1)[0] not in skippedpatches] |
491 if mq.guard_re.split(s, 1)[0] not in skippedpatches] |
492 mq.fullseries[:] = newseries |
492 mq.fullseries[:] = newseries |
493 mq.seriesdirty = True |
493 mq.seriesdirty = True |
494 mq.savedirty() |
494 mq.savedirty() |
495 |
495 |
496 def updatebookmarks(repo, nstate, originalbookmarks, **opts): |
496 def updatebookmarks(repo, dest, nstate, originalbookmarks): |
497 'Move bookmarks to their correct changesets' |
497 'Move bookmarks to their correct changesets, and delete divergent ones' |
|
498 destnode = dest.node() |
498 marks = repo._bookmarks |
499 marks = repo._bookmarks |
499 for k, v in originalbookmarks.iteritems(): |
500 for k, v in originalbookmarks.iteritems(): |
500 if v in nstate: |
501 if v in nstate: |
501 # update the bookmarks for revs that have moved |
502 # update the bookmarks for revs that have moved |
502 marks[k] = nstate[v] |
503 marks[k] = nstate[v] |
|
504 bookmarks.deletedivergent(repo, [destnode], k) |
503 |
505 |
504 marks.write() |
506 marks.write() |
505 |
507 |
506 def storestatus(repo, originalwd, target, state, collapse, keep, keepbranches, |
508 def storestatus(repo, originalwd, target, state, collapse, keep, keepbranches, |
507 external): |
509 external): |