##// END OF EJS Templates
errors: add config that lets user get more detailed exit codes...
errors: add config that lets user get more detailed exit codes This adds an experimental config that lets the user get more detailed exit codes. For example, there will be a specific error code for input/user errors. This is part of https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan. I've made the config part of tweakdefaults. I've made the config enabled by default in tests. My reasoning is that we want to see that each specific error case gives the right exit code and we don't want to duplicate all error cases in the entire test suite. It also makes it easy to grep the `.t` files for `[255]` to find which cases we have left to fix. The logic for the current exit codes is quite simple, so I'm not too worried about regressions there. I've added a test case specifically for the "legacy" exit codes. I've set the detailed exit status only for the case of `InterventionRequired` and `SystemExit` for now (the cases where we currently return something other than 255), just to show that it works. Differential Revision: https://phab.mercurial-scm.org/D9238

File last commit:

r46430:21733e8c default
r46430:21733e8c 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')
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
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')
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
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')
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
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')
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
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
errors: add config that lets user get more detailed exit codes...
r46430 [240]
Martin von Zweigbergk
tests: demonstrate how continuing rebase after upgrade can result in merge...
r45156 $ 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')
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
Jeremy Fitzhardinge
rebase: make sure merge state is cleaned up for no-op rebases (issue5494)...
r32313 $ 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
errors: add config that lets user get more detailed exit codes...
r46430 [240]
Martin von Zweigbergk
tests: add test for issue 5494 but with --collapse...
r36795 $ 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]