hgext/rebase.py
changeset 18444 55aff0c2b73c
parent 18424 100fdc84670f
child 18446 c83d36b81df1
equal deleted inserted replaced
18443:64848f7fb764 18444:55aff0c2b73c
   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: