310 |
310 |
311 if not keepf: |
311 if not keepf: |
312 collapsedas = None |
312 collapsedas = None |
313 if collapsef: |
313 if collapsef: |
314 collapsedas = newrev |
314 collapsedas = newrev |
315 clearrebased(ui, repo, state, collapsedas) |
315 clearrebased(ui, repo, state, skipped, collapsedas) |
316 |
316 |
317 if currentbookmarks: |
317 if currentbookmarks: |
318 updatebookmarks(repo, nstate, currentbookmarks, **opts) |
318 updatebookmarks(repo, nstate, currentbookmarks, **opts) |
319 |
319 |
320 clearstatus(repo) |
320 clearstatus(repo) |
658 for r in detachset: |
658 for r in detachset: |
659 if r not in state: |
659 if r not in state: |
660 state[r] = nullmerge |
660 state[r] = nullmerge |
661 return repo['.'].rev(), dest.rev(), state |
661 return repo['.'].rev(), dest.rev(), state |
662 |
662 |
663 def clearrebased(ui, repo, state, collapsedas=None): |
663 def clearrebased(ui, repo, state, skipped, collapsedas=None): |
664 """dispose of rebased revision at the end of the rebase |
664 """dispose of rebased revision at the end of the rebase |
665 |
665 |
666 If `collapsedas` is not None, the rebase was a collapse whose result if the |
666 If `collapsedas` is not None, the rebase was a collapse whose result if the |
667 `collapsedas` node.""" |
667 `collapsedas` node.""" |
668 if obsolete._enabled: |
668 if obsolete._enabled: |
669 markers = [] |
669 markers = [] |
670 for rev, newrev in sorted(state.items()): |
670 for rev, newrev in sorted(state.items()): |
671 if newrev >= 0: |
671 if newrev >= 0: |
672 if collapsedas is not None: |
672 if rev in skipped: |
673 newrev = collapsedas |
673 succs = () |
674 markers.append((repo[rev], (repo[newrev],))) |
674 elif collapsedas is not None: |
|
675 succs = (repo[collapsedas],) |
|
676 else: |
|
677 succs = (repo[newrev],) |
|
678 markers.append((repo[rev], succs)) |
675 if markers: |
679 if markers: |
676 obsolete.createmarkers(repo, markers) |
680 obsolete.createmarkers(repo, markers) |
677 else: |
681 else: |
678 rebased = [rev for rev in state if state[rev] != nullmerge] |
682 rebased = [rev for rev in state if state[rev] != nullmerge] |
679 if rebased: |
683 if rebased: |