##// END OF EJS Templates
rebase: stop relying on having two parents to resume rebase...
rebase: stop relying on having two parents to resume rebase I'm about to make it so we don't have two parents when a rebase is interrupted (unless we're just rebasing on a merge commit). The code for detecting if we're resuming a rebase relied on having two parents, so this patch rewrites that to instead set a boolean when we resume. Note that `self.resume` in the new condition implies `not self.inmemory` (rebase cannot be resumed in memory), so that's why that part can be omitted. Differential Revision: https://phab.mercurial-scm.org/D7826

File last commit:

r40900:4edd427f default
r44820:b42ce825 default
Show More
test-rebase-interruptions.t
480 lines | 10.2 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')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 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')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 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')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 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')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 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 ..
(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
rebasing 6:a0b2430ebfb8 "F" (tip)
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 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 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
rebasing 6:a0b2430ebfb8 "F" (tip)
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 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 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
rebasing 6:a0b2430ebfb8 "F" (tip)
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 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 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')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[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
rebasing 2:fdaca8533b86 "b" (tip)
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ echo a > a
$ echo c >> a
$ hg resolve --mark a
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
rebasing 2:fdaca8533b86 "b" (tip)
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]