##// END OF EJS Templates
rebase: move actual rebase into a single transaction...
Durham Goode -
r31226:cf8ad0e6 default
parent child Browse files
Show More
@@ -343,7 +343,7 b' class rebaseruntime(object):'
343 if dest.closesbranch() and not self.keepbranchesf:
343 if dest.closesbranch() and not self.keepbranchesf:
344 self.ui.status(_('reopening closed branch head %s\n') % dest)
344 self.ui.status(_('reopening closed branch head %s\n') % dest)
345
345
346 def _performrebase(self):
346 def _performrebase(self, tr):
347 repo, ui, opts = self.repo, self.ui, self.opts
347 repo, ui, opts = self.repo, self.ui, self.opts
348 if self.keepbranchesf:
348 if self.keepbranchesf:
349 # insert _savebranch at the start of extrafns so if
349 # insert _savebranch at the start of extrafns so if
@@ -393,7 +393,7 b' class rebaseruntime(object):'
393 self.state,
393 self.state,
394 self.targetancestors,
394 self.targetancestors,
395 self.obsoletenotrebased)
395 self.obsoletenotrebased)
396 self.storestatus()
396 self.storestatus(tr=tr)
397 storecollapsemsg(repo, self.collapsemsg)
397 storecollapsemsg(repo, self.collapsemsg)
398 if len(repo[None].parents()) == 2:
398 if len(repo[None].parents()) == 2:
399 repo.ui.debug('resuming interrupted rebase\n')
399 repo.ui.debug('resuming interrupted rebase\n')
@@ -711,7 +711,12 b' def rebase(ui, repo, **opts):'
711 if retcode is not None:
711 if retcode is not None:
712 return retcode
712 return retcode
713
713
714 rbsrt._performrebase()
714 with repo.transaction('rebase') as tr:
715 try:
716 rbsrt._performrebase(tr)
717 except error.InterventionRequired:
718 tr.close()
719 raise
715 rbsrt._finishrebase()
720 rbsrt._finishrebase()
716 finally:
721 finally:
717 release(lock, wlock)
722 release(lock, wlock)
@@ -374,10 +374,11 b' test aborting an interrupted series (iss'
374 $ hg --config extensions.n=$TESTDIR/failfilemerge.py rebase -s 3 -d tip
374 $ hg --config extensions.n=$TESTDIR/failfilemerge.py rebase -s 3 -d tip
375 rebasing 3:3a71550954f1 "b"
375 rebasing 3:3a71550954f1 "b"
376 rebasing 4:e80b69427d80 "c"
376 rebasing 4:e80b69427d80 "c"
377 transaction abort!
378 rollback completed
377 abort: ^C
379 abort: ^C
378 [255]
380 [255]
379 $ hg rebase --abort
381 $ hg rebase --abort
380 saved backup bundle to $TESTTMP/interrupted/.hg/strip-backup/3d8812cf300d-93041a90-backup.hg (glob)
381 rebase aborted
382 rebase aborted
382 $ hg log -G --template "{rev} {desc} {bookmarks}"
383 $ hg log -G --template "{rev} {desc} {bookmarks}"
383 o 6 no-a
384 o 6 no-a
@@ -398,7 +399,7 b' test aborting an interrupted series (iss'
398 parent: 0:df4f53cec30a
399 parent: 0:df4f53cec30a
399 base
400 base
400 branch: default
401 branch: default
401 commit: (clean)
402 commit: 1 unknown (clean)
402 update: 6 new changesets (update)
403 update: 6 new changesets (update)
403 phases: 7 draft
404 phases: 7 draft
404
405
@@ -225,7 +225,6 b' Check that the right ancestors is used w'
225 ignoring null merge rebase of 8
225 ignoring null merge rebase of 8
226 rebasing 9:e31216eec445 "more changes to f1"
226 rebasing 9:e31216eec445 "more changes to f1"
227 future parents are 2 and -1
227 future parents are 2 and -1
228 rebase status stored
229 update to 2:4bc80088dc6b
228 update to 2:4bc80088dc6b
230 resolving manifests
229 resolving manifests
231 branchmerge: False, force: True, partial: False
230 branchmerge: False, force: True, partial: False
@@ -251,7 +250,6 b' Check that the right ancestors is used w'
251 rebased as 19c888675e13
250 rebased as 19c888675e13
252 rebasing 10:2f2496ddf49d "merge" (tip)
251 rebasing 10:2f2496ddf49d "merge" (tip)
253 future parents are 11 and 7
252 future parents are 11 and 7
254 rebase status stored
255 already in target
253 already in target
256 merge against 10:2f2496ddf49d
254 merge against 10:2f2496ddf49d
257 detach base 9:e31216eec445
255 detach base 9:e31216eec445
@@ -269,6 +267,7 b' Check that the right ancestors is used w'
269 committing changelog
267 committing changelog
270 rebased as 2a7f09cac94c
268 rebased as 2a7f09cac94c
271 rebase merging completed
269 rebase merging completed
270 rebase status stored
272 update back to initial working directory parent
271 update back to initial working directory parent
273 resolving manifests
272 resolving manifests
274 branchmerge: False, force: False, partial: False
273 branchmerge: False, force: False, partial: False
General Comments 0
You need to be logged in to leave comments. Login now