##// END OF EJS Templates
worker: raise exception instead of calling sys.exit() with child's code...
worker: raise exception instead of calling sys.exit() with child's code When a worker process returns an error code, we would call `sys.exit()` with that exit code on the main process. The `SystemExit` exception would then get caught in `scmutil.callcatch()`, which would return that error code. The comment there says "Commands shouldn't sys.exit directly", which I agree with. This patch changes it so we raise a specific exception when a worker fails so we can catch instead. I think that means that `SystemExit` is now always an internal error. (I had earlier thought that this call to `sys.exit()` was from within the child process until Matt Harbison made me look again, so thanks for that!) Differential Revision: https://phab.mercurial-scm.org/D9287

File last commit:

r46356:f90a5c21 default
r46429:8f07f5a9 default
Show More
test-rebase-interruptions.t
540 lines | 11.6 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-interruptions.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [alias]
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
> tglogp = log -G --template "{rev}: {node|short} {phase} '{desc}' {branches}\n"
Adrian Buehlmann
tests: unify test-rebase*
r12608 > EOF
$ hg init a
$ cd a
$ echo A > A
$ hg ci -Am A
adding A
$ echo B > B
$ hg ci -Am B
adding B
$ echo C >> A
$ hg ci -m C
$ hg up -q -C 0
$ echo D >> A
$ hg ci -m D
created new head
$ echo E > E
$ hg ci -Am E
adding E
$ cd ..
Changes during an interruption - continue:
$ hg clone -q -u . a a1
$ cd a1
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 4: ae36e8e3dfd7 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Rebasing B onto E:
$ hg rebase -s 1 -d 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:27547f69f254 "B"
rebasing 2:965c486023db "C"
Adrian Buehlmann
tests: unify test-rebase*
r12608 merging A
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
Force a commit on C during the interruption:
Matt Mackall
rebase: add checkunfinished support (issue3955)
r19478 $ hg up -q -C 2 --config 'extensions.rebase=!'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ echo 'Extra' > Extra
$ hg add Extra
Matt Mackall
rebase: add checkunfinished support (issue3955)
r19478 $ hg ci -m 'Extra' --config 'extensions.rebase=!'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 Force this commit onto secret phase
$ hg phase --force --secret 6
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: deb5d2f93d8b secret 'Extra'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 5: 45396c49d53b draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: ae36e8e3dfd7 draft 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 3: 46b37eabc604 draft 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 2: 965c486023db draft 'C'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 1: 27547f69f254 draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b draft 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Resume the rebasing:
$ hg rebase --continue
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 already rebased 1:27547f69f254 "B" as 45396c49d53b
rebasing 2:965c486023db "C"
Adrian Buehlmann
tests: unify test-rebase*
r12608 merging A
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
Solve the conflict and go on:
$ echo 'conflict solved' > A
$ rm A.orig
$ hg resolve -m A
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
rebase: hook afterresolvedstates
r27626 continue: hg rebase --continue
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg rebase --continue
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 already rebased 1:27547f69f254 "B" as 45396c49d53b
rebasing 2:965c486023db "C"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 warning: orphaned descendants detected, not stripping 27547f69f254, 965c486023db
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 7: d2d25e26288e draft 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 6: deb5d2f93d8b secret 'Extra'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: 45396c49d53b draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ | 4: ae36e8e3dfd7 draft 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 46b37eabc604 draft 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db draft 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b draft 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Changes during an interruption - abort:
$ hg clone -q -u . a a2
$ cd a2
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 4: ae36e8e3dfd7 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Rebasing B onto E:
$ hg rebase -s 1 -d 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:27547f69f254 "B"
rebasing 2:965c486023db "C"
Adrian Buehlmann
tests: unify test-rebase*
r12608 merging A
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
Force a commit on B' during the interruption:
Matt Mackall
rebase: add checkunfinished support (issue3955)
r19478 $ hg up -q -C 5 --config 'extensions.rebase=!'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ echo 'Extra' > Extra
$ hg add Extra
Matt Mackall
rebase: add checkunfinished support (issue3955)
r19478 $ hg ci -m 'Extra' --config 'extensions.rebase=!'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: 402ee3642b59 'Extra'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 45396c49d53b 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: ae36e8e3dfd7 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Abort the rebasing:
$ hg rebase --abort
Martin von Zweigbergk
rebase: rename "target" to "destination" in messages...
r32249 warning: new changesets detected on destination branch, can't strip
Matt Mackall
rebase: allow aborting when descendants detected...
r19518 rebase aborted
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: 402ee3642b59 'Extra'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 45396c49d53b 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: ae36e8e3dfd7 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 Changes during an interruption - abort (again):
$ hg clone -q -u . a a3
$ cd a3
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 4: ae36e8e3dfd7 draft 'E'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 draft 'D'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db draft 'C'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 draft 'B'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b draft 'A'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
Rebasing B onto E:
$ hg rebase -s 1 -d 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:27547f69f254 "B"
rebasing 2:965c486023db "C"
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 merging A
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
Change phase on B and B'
Matt Mackall
rebase: add checkunfinished support (issue3955)
r19478 $ hg up -q -C 5 --config 'extensions.rebase=!'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --public 1
$ hg phase --public 5
$ hg phase --secret -f 2
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 5: 45396c49d53b public 'B'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: ae36e8e3dfd7 public 'E'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 public 'D'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db secret 'C'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
Abort the rebasing:
$ hg rebase --abort
Jordi Gutiérrez Hermoso
phases: rewrite "immutable changeset" to "public changeset"...
r25411 warning: can't clean up public changesets 45396c49d53b
Matt Mackall
rebase: continue abort without strip for immutable csets (issue3997)...
r19517 rebase aborted
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 5: 45396c49d53b public 'B'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: ae36e8e3dfd7 public 'E'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 46b37eabc604 public 'D'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db secret 'C'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 Test rebase interrupted by hooks
rebase: provides test case for (issue5610)...
r33137
$ hg up 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo F > F
$ hg add F
$ hg ci -m F
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138
$ cd ..
Martin von Zweigbergk
tests: demonstrate how continuing rebase after upgrade can result in merge...
r45156 Continue rebase after upgrading from an hg version before 9c9cfecd4600:
$ hg clone -q -u . a a4
$ cd a4
$ hg tglog
@ 4: ae36e8e3dfd7 'E'
|
o 3: 46b37eabc604 'D'
|
| o 2: 965c486023db 'C'
| |
| o 1: 27547f69f254 'B'
|/
o 0: 4a2df7238c3b 'A'
$ hg rebase -s 1 -d 4
rebasing 1:27547f69f254 "B"
rebasing 2:965c486023db "C"
merging A
warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Martin von Zweigbergk
tests: demonstrate how continuing rebase after upgrade can result in merge...
r45156 [1]
$ hg tglog
@ 5: 45396c49d53b 'B'
|
o 4: ae36e8e3dfd7 'E'
|
o 3: 46b37eabc604 'D'
|
| % 2: 965c486023db 'C'
| |
| o 1: 27547f69f254 'B'
|/
o 0: 4a2df7238c3b 'A'
Simulate having run the above with an older hg version by manually setting
two dirstate parents. We should not get a merge commit when we continue.
$ hg debugsetparents 5 2
$ echo 'conflict solved' > A
$ hg resolve -m A
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
already rebased 1:27547f69f254 "B" as 45396c49d53b
rebasing 2:965c486023db "C"
Martin von Zweigbergk
rebase: don't create merge when continuing rebase interrupted by old hg...
r45157 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/27547f69f254-359abdd7-rebase.hg
Martin von Zweigbergk
tests: demonstrate how continuing rebase after upgrade can result in merge...
r45156 $ hg tglog
Martin von Zweigbergk
rebase: don't create merge when continuing rebase interrupted by old hg...
r45157 o 4: d2d25e26288e 'C'
|
o 3: 45396c49d53b 'B'
|
@ 2: ae36e8e3dfd7 'E'
|
o 1: 46b37eabc604 'D'
|
Martin von Zweigbergk
tests: demonstrate how continuing rebase after upgrade can result in merge...
r45156 o 0: 4a2df7238c3b 'A'
$ cd ..
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 (precommit version)
$ cp -R a3 hook-precommit
$ cd hook-precommit
$ hg rebase --source 2 --dest 5 --tool internal:other --config 'hooks.precommit=hg status | grep "M A"'
rebasing 2:965c486023db "C"
M A
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 6:a0b2430ebfb8 tip "F"
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 abort: precommit hook exited with status 1
[255]
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 7: 401ccec5e39f secret 'C'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Martin von Zweigbergk
rebase: don't use rebased node as dirstate p2 (BC)...
r44821 | o 6: a0b2430ebfb8 secret 'F'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: 45396c49d53b public 'B'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 4: ae36e8e3dfd7 public 'E'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 46b37eabc604 public 'D'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db secret 'C'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 $ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: 6e92a149ac6b secret 'F'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 401ccec5e39f secret 'C'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: 45396c49d53b public 'B'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: ae36e8e3dfd7 public 'E'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: 46b37eabc604 public 'D'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: reinforce testing around precommit hook interrupting a rebase...
r33138
$ cd ..
(pretxncommit version)
$ cp -R a3 hook-pretxncommit
$ cd hook-pretxncommit
Matt Harbison
hook: disable the shell to native command translation by default...
r38745 $ hg rebase --source 2 --dest 5 --tool internal:other \
> --config 'hooks.tonative.pretxncommit=True' --config 'hooks.pretxncommit=hg log -r $HG_NODE | grep "summary: C"'
rebase: provides test case for (issue5610)...
r33137 rebasing 2:965c486023db "C"
summary: C
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 6:a0b2430ebfb8 tip "F"
rebase: provides test case for (issue5610)...
r33137 transaction abort!
rollback completed
abort: pretxncommit hook exited with status 1
[255]
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 7: 401ccec5e39f secret 'C'
rebase: provides test case for (issue5610)...
r33137 |
Martin von Zweigbergk
rebase: don't use rebased node as dirstate p2 (BC)...
r44821 | o 6: a0b2430ebfb8 secret 'F'
rebase: provides test case for (issue5610)...
r33137 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: 45396c49d53b public 'B'
rebase: provides test case for (issue5610)...
r33137 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 4: ae36e8e3dfd7 public 'E'
rebase: provides test case for (issue5610)...
r33137 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 46b37eabc604 public 'D'
rebase: provides test case for (issue5610)...
r33137 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db secret 'C'
rebase: provides test case for (issue5610)...
r33137 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: provides test case for (issue5610)...
r33137 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: provides test case for (issue5610)...
r33137
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
rebase: provides test case for (issue5610)...
r33137 $ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: 6e92a149ac6b secret 'F'
rebase: provides test case for (issue5610)...
r33137 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 401ccec5e39f secret 'C'
rebase: provides test case for (issue5610)...
r33137 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: 45396c49d53b public 'B'
rebase: provides test case for (issue5610)...
r33137 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: ae36e8e3dfd7 public 'E'
rebase: provides test case for (issue5610)...
r33137 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: 46b37eabc604 public 'D'
rebase: provides test case for (issue5610)...
r33137 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: provides test case for (issue5610)...
r33137 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: provides test case for (issue5610)...
r33137
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ cd ..
rebase: also test abort from pretxnclose error...
r33139
(pretxnclose version)
$ cp -R a3 hook-pretxnclose
$ cd hook-pretxnclose
$ hg rebase --source 2 --dest 5 --tool internal:other --config 'hooks.pretxnclose=hg log -r tip | grep "summary: C"'
rebasing 2:965c486023db "C"
summary: C
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 6:a0b2430ebfb8 tip "F"
rebase: also test abort from pretxnclose error...
r33139 transaction abort!
rollback completed
abort: pretxnclose hook exited with status 1
[255]
$ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 7: 401ccec5e39f secret 'C'
rebase: also test abort from pretxnclose error...
r33139 |
Martin von Zweigbergk
rebase: don't use rebased node as dirstate p2 (BC)...
r44821 | o 6: a0b2430ebfb8 secret 'F'
rebase: also test abort from pretxnclose error...
r33139 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 5: 45396c49d53b public 'B'
rebase: also test abort from pretxnclose error...
r33139 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 4: ae36e8e3dfd7 public 'E'
rebase: also test abort from pretxnclose error...
r33139 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o | 3: 46b37eabc604 public 'D'
rebase: also test abort from pretxnclose error...
r33139 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 965c486023db secret 'C'
rebase: also test abort from pretxnclose error...
r33139 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: also test abort from pretxnclose error...
r33139 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: also test abort from pretxnclose error...
r33139
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
rebase: also test abort from pretxnclose error...
r33139 $ hg tglogp
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 6: 6e92a149ac6b secret 'F'
rebase: also test abort from pretxnclose error...
r33139 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 5: 401ccec5e39f secret 'C'
rebase: also test abort from pretxnclose error...
r33139 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 4: 45396c49d53b public 'B'
rebase: also test abort from pretxnclose error...
r33139 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: ae36e8e3dfd7 public 'E'
rebase: also test abort from pretxnclose error...
r33139 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: 46b37eabc604 public 'D'
rebase: also test abort from pretxnclose error...
r33139 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 27547f69f254 public 'B'
rebase: also test abort from pretxnclose error...
r33139 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 4a2df7238c3b public 'A'
rebase: also test abort from pretxnclose error...
r33139
$ cd ..
Jeremy Fitzhardinge
rebase: make sure merge state is cleaned up for no-op rebases (issue5494)...
r32313
Make sure merge state is cleaned up after a no-op rebase merge (issue5494)
$ hg init repo
$ cd repo
$ echo a > a
$ hg commit -qAm base
$ echo b >> a
$ hg commit -qm b
$ hg up '.^'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo c >> a
$ hg commit -qm c
$ hg rebase -s 1 -d 2 --noninteractive
rebasing 1:fdaca8533b86 "b"
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Jeremy Fitzhardinge
rebase: make sure merge state is cleaned up for no-op rebases (issue5494)...
r32313 [1]
$ echo a > a
$ echo c >> a
$ hg resolve --mark a
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
rebasing 1:fdaca8533b86 "b"
Martin von Zweigbergk
rebase: clarify that commits that become empty are skipped...
r40900 note: not rebasing 1:fdaca8533b86 "b", its destination already has all its changes
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
Jeremy Fitzhardinge
rebase: make sure merge state is cleaned up for no-op rebases (issue5494)...
r32313 $ hg resolve --list
Martin von Zweigbergk
tests: .hg/merge is a directory, so use `test -d`...
r36794 $ test -d .hg/merge
Jeremy Fitzhardinge
rebase: make sure merge state is cleaned up for no-op rebases (issue5494)...
r32313 [1]
Martin von Zweigbergk
tests: add test for issue 5494 but with --collapse...
r36795 Now try again with --collapse
$ hg unbundle -q .hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
$ hg rebase -s 2 -d 1 --noninteractive --collapse
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:fdaca8533b86 tip "b"
Martin von Zweigbergk
tests: add test for issue 5494 but with --collapse...
r36795 merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Martin von Zweigbergk
tests: add test for issue 5494 but with --collapse...
r36795 [1]
$ echo a > a
$ echo c >> a
$ hg resolve --mark a
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:fdaca8533b86 tip "b"
Martin von Zweigbergk
tests: add test for issue 5494 but with --collapse...
r36795 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
$ hg resolve --list
$ test -d .hg/merge
Martin von Zweigbergk
rebase: fix issue 5494 also with --collapse...
r36946 [1]