##// END OF EJS Templates
rebase: continue abort without strip for immutable csets (issue3997)...
Matt Mackall -
r19517:eab2ff59 stable
parent child Browse files
Show More
@@ -609,9 +609,9 b' def abort(repo, originalwd, target, stat'
609 dstates = [s for s in state.values() if s != nullrev]
609 dstates = [s for s in state.values() if s != nullrev]
610 immutable = [d for d in dstates if not repo[d].mutable()]
610 immutable = [d for d in dstates if not repo[d].mutable()]
611 if immutable:
611 if immutable:
612 raise util.Abort(_("can't abort rebase due to immutable changesets %s")
612 repo.ui.warn(_("warning: can't clean up immutable changesets %s\n")
613 % ', '.join(str(repo[r]) for r in immutable),
613 % ', '.join(str(repo[r]) for r in immutable),
614 hint=_('see hg help phases for details'))
614 hint=_('see hg help phases for details'))
615
615
616 descendants = set()
616 descendants = set()
617 if dstates:
617 if dstates:
@@ -622,12 +622,12 b' def abort(repo, originalwd, target, stat'
622 return -1
622 return -1
623 else:
623 else:
624 # Update away from the rebase if necessary
624 # Update away from the rebase if necessary
625 if inrebase(repo, originalwd, state):
625 if not immutable and inrebase(repo, originalwd, state):
626 merge.update(repo, repo[originalwd].rev(), False, True, False)
626 merge.update(repo, repo[originalwd].rev(), False, True, False)
627
627
628 # Strip from the first rebased revision
628 # Strip from the first rebased revision
629 rebased = filter(lambda x: x > -1 and x != target, state.values())
629 rebased = filter(lambda x: x > -1 and x != target, state.values())
630 if rebased:
630 if rebased and not immutable:
631 strippoints = [c.node() for c in repo.set('roots(%ld)', rebased)]
631 strippoints = [c.node() for c in repo.set('roots(%ld)', rebased)]
632 # no backup of rebased cset versions needed
632 # no backup of rebased cset versions needed
633 repair.strip(repo.ui, repo, strippoints)
633 repair.strip(repo.ui, repo, strippoints)
@@ -248,9 +248,8 b" Change phase on B and B'"
248 Abort the rebasing:
248 Abort the rebasing:
249
249
250 $ hg rebase --abort
250 $ hg rebase --abort
251 abort: can't abort rebase due to immutable changesets 45396c49d53b
251 warning: can't clean up immutable changesets 45396c49d53b
252 (see hg help phases for details)
252 rebase aborted
253 [255]
254
253
255 $ hg tglogp
254 $ hg tglogp
256 @ 5:public 'B'
255 @ 5:public 'B'
General Comments 0
You need to be logged in to leave comments. Login now