test-rebase-interruptions.t
540 lines
| 11.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-rebase-interruptions.t
Adrian Buehlmann
|
r12608 | $ cat >> $HGRCPATH <<EOF | ||
> [extensions] | ||||
> rebase= | ||||
> | ||||
Pierre-Yves David
|
r15742 | > [phases] | ||
> publish=False | ||||
> | ||||
Adrian Buehlmann
|
r12608 | > [alias] | ||
Phil Cohen
|
r35386 | > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n" | ||
> tglogp = log -G --template "{rev}: {node|short} {phase} '{desc}' {branches}\n" | ||||
Adrian Buehlmann
|
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
|
r35386 | @ 4: ae36e8e3dfd7 'E' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 'D' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db 'C' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b 'A' | ||
Adrian Buehlmann
|
r12608 | |||
Rebasing B onto E: | ||||
$ hg rebase -s 1 -d 4 | ||||
Mads Kiilerich
|
r23517 | rebasing 1:27547f69f254 "B" | ||
rebasing 2:965c486023db "C" | ||||
Adrian Buehlmann
|
r12608 | merging A | ||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
Augie Fackler
|
r18933 | unresolved conflicts (see hg resolve, then hg rebase --continue) | ||
Augie Fackler
|
r18935 | [1] | ||
Adrian Buehlmann
|
r12608 | |||
Force a commit on C during the interruption: | ||||
Matt Mackall
|
r19478 | $ hg up -q -C 2 --config 'extensions.rebase=!' | ||
Adrian Buehlmann
|
r12608 | |||
$ echo 'Extra' > Extra | ||||
$ hg add Extra | ||||
Matt Mackall
|
r19478 | $ hg ci -m 'Extra' --config 'extensions.rebase=!' | ||
Adrian Buehlmann
|
r12608 | |||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | Force this commit onto secret phase | ||
$ hg phase --force --secret 6 | ||||
$ hg tglogp | ||||
Phil Cohen
|
r35386 | @ 6: deb5d2f93d8b secret 'Extra' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 5: 45396c49d53b draft 'B' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 4: ae36e8e3dfd7 draft 'E' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 3: 46b37eabc604 draft 'D' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | o | 2: 965c486023db draft 'C' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | | ||
Phil Cohen
|
r35386 | o | 1: 27547f69f254 draft 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b draft 'A' | ||
Adrian Buehlmann
|
r12608 | |||
Resume the rebasing: | ||||
$ hg rebase --continue | ||||
Mads Kiilerich
|
r23517 | already rebased 1:27547f69f254 "B" as 45396c49d53b | ||
rebasing 2:965c486023db "C" | ||||
Adrian Buehlmann
|
r12608 | merging A | ||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
Augie Fackler
|
r18933 | unresolved conflicts (see hg resolve, then hg rebase --continue) | ||
Augie Fackler
|
r18935 | [1] | ||
Adrian Buehlmann
|
r12608 | |||
Solve the conflict and go on: | ||||
$ echo 'conflict solved' > A | ||||
$ rm A.orig | ||||
$ hg resolve -m A | ||||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
timeless
|
r27626 | continue: hg rebase --continue | ||
Adrian Buehlmann
|
r12608 | |||
$ hg rebase --continue | ||||
Mads Kiilerich
|
r23517 | already rebased 1:27547f69f254 "B" as 45396c49d53b | ||
rebasing 2:965c486023db "C" | ||||
Jun Wu
|
r33332 | warning: orphaned descendants detected, not stripping 27547f69f254, 965c486023db | ||
Adrian Buehlmann
|
r12608 | |||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | $ hg tglogp | ||
Phil Cohen
|
r35386 | o 7: d2d25e26288e draft 'C' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 6: deb5d2f93d8b secret 'Extra' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | o | 5: 45396c49d53b draft 'B' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | @ | 4: ae36e8e3dfd7 draft 'E' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | o | 3: 46b37eabc604 draft 'D' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db draft 'C' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 draft 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b draft 'A' | ||
Adrian Buehlmann
|
r12608 | |||
$ cd .. | ||||
Changes during an interruption - abort: | ||||
$ hg clone -q -u . a a2 | ||||
$ cd a2 | ||||
$ hg tglog | ||||
Phil Cohen
|
r35386 | @ 4: ae36e8e3dfd7 'E' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 'D' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db 'C' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b 'A' | ||
Adrian Buehlmann
|
r12608 | |||
Rebasing B onto E: | ||||
$ hg rebase -s 1 -d 4 | ||||
Mads Kiilerich
|
r23517 | rebasing 1:27547f69f254 "B" | ||
rebasing 2:965c486023db "C" | ||||
Adrian Buehlmann
|
r12608 | merging A | ||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
Augie Fackler
|
r18933 | unresolved conflicts (see hg resolve, then hg rebase --continue) | ||
Augie Fackler
|
r18935 | [1] | ||
Adrian Buehlmann
|
r12608 | |||
Force a commit on B' during the interruption: | ||||
Matt Mackall
|
r19478 | $ hg up -q -C 5 --config 'extensions.rebase=!' | ||
Adrian Buehlmann
|
r12608 | |||
$ echo 'Extra' > Extra | ||||
$ hg add Extra | ||||
Matt Mackall
|
r19478 | $ hg ci -m 'Extra' --config 'extensions.rebase=!' | ||
Adrian Buehlmann
|
r12608 | |||
$ hg tglog | ||||
Phil Cohen
|
r35386 | @ 6: 402ee3642b59 'Extra' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 5: 45396c49d53b 'B' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 4: ae36e8e3dfd7 'E' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 'D' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db 'C' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b 'A' | ||
Adrian Buehlmann
|
r12608 | |||
Abort the rebasing: | ||||
$ hg rebase --abort | ||||
Martin von Zweigbergk
|
r32249 | warning: new changesets detected on destination branch, can't strip | ||
Matt Mackall
|
r19518 | rebase aborted | ||
Adrian Buehlmann
|
r12608 | |||
$ hg tglog | ||||
Phil Cohen
|
r35386 | @ 6: 402ee3642b59 'Extra' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 5: 45396c49d53b 'B' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 4: ae36e8e3dfd7 'E' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 'D' | ||
Adrian Buehlmann
|
r12608 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db 'C' | ||
Adrian Buehlmann
|
r12608 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 'B' | ||
Adrian Buehlmann
|
r12608 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b 'A' | ||
Adrian Buehlmann
|
r12608 | |||
$ cd .. | ||||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | Changes during an interruption - abort (again): | ||
$ hg clone -q -u . a a3 | ||||
$ cd a3 | ||||
$ hg tglogp | ||||
Phil Cohen
|
r35386 | @ 4: ae36e8e3dfd7 draft 'E' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 draft 'D' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db draft 'C' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 draft 'B' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b draft 'A' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |||
Rebasing B onto E: | ||||
$ hg rebase -s 1 -d 4 | ||||
Mads Kiilerich
|
r23517 | rebasing 1:27547f69f254 "B" | ||
rebasing 2:965c486023db "C" | ||||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | merging A | ||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
Augie Fackler
|
r18933 | unresolved conflicts (see hg resolve, then hg rebase --continue) | ||
Augie Fackler
|
r18935 | [1] | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |||
Change phase on B and B' | ||||
Matt Mackall
|
r19478 | $ hg up -q -C 5 --config 'extensions.rebase=!' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | $ hg phase --public 1 | ||
$ hg phase --public 5 | ||||
$ hg phase --secret -f 2 | ||||
$ hg tglogp | ||||
Phil Cohen
|
r35386 | @ 5: 45396c49d53b public 'B' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | o 4: ae36e8e3dfd7 public 'E' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 public 'D' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db secret 'C' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |||
Abort the rebasing: | ||||
$ hg rebase --abort | ||||
Jordi Gutiérrez Hermoso
|
r25411 | warning: can't clean up public changesets 45396c49d53b | ||
Matt Mackall
|
r19517 | rebase aborted | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |||
$ hg tglogp | ||||
Phil Cohen
|
r35386 | @ 5: 45396c49d53b public 'B' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | o 4: ae36e8e3dfd7 public 'E' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | o 3: 46b37eabc604 public 'D' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | ||
Phil Cohen
|
r35386 | | o 2: 965c486023db secret 'C' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | | | | ||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |/ | ||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | |||
r33138 | Test rebase interrupted by hooks | |||
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 | ||||
r33138 | ||||
$ cd .. | ||||
Martin von Zweigbergk
|
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') | ||||
unresolved conflicts (see hg resolve, then hg rebase --continue) | ||||
[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
|
r45157 | saved backup bundle to $TESTTMP/a4/.hg/strip-backup/27547f69f254-359abdd7-rebase.hg | ||
Martin von Zweigbergk
|
r45156 | $ hg tglog | ||
Martin von Zweigbergk
|
r45157 | o 4: d2d25e26288e 'C' | ||
| | ||||
o 3: 45396c49d53b 'B' | ||||
| | ||||
@ 2: ae36e8e3dfd7 'E' | ||||
| | ||||
o 1: 46b37eabc604 'D' | ||||
| | ||||
Martin von Zweigbergk
|
r45156 | o 0: 4a2df7238c3b 'A' | ||
$ cd .. | ||||
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 | ||||
rebasing 6:a0b2430ebfb8 "F" (tip) | ||||
abort: precommit hook exited with status 1 | ||||
[255] | ||||
$ hg tglogp | ||||
Phil Cohen
|
r35386 | @ 7: 401ccec5e39f secret 'C' | ||
r33138 | | | |||
Martin von Zweigbergk
|
r44821 | | o 6: a0b2430ebfb8 secret 'F' | ||
r33138 | | | | |||
Phil Cohen
|
r35386 | o | 5: 45396c49d53b public 'B' | ||
r33138 | | | | |||
Phil Cohen
|
r35386 | o | 4: ae36e8e3dfd7 public 'E' | ||
r33138 | | | | |||
Phil Cohen
|
r35386 | o | 3: 46b37eabc604 public 'D' | ||
r33138 | | | | |||
Phil Cohen
|
r35386 | | o 2: 965c486023db secret 'C' | ||
r33138 | | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33138 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33138 | ||||
$ hg rebase --continue | ||||
already rebased 2:965c486023db "C" as 401ccec5e39f | ||||
rebasing 6:a0b2430ebfb8 "F" | ||||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg | ||
r33138 | $ hg tglogp | |||
Phil Cohen
|
r35386 | @ 6: 6e92a149ac6b secret 'F' | ||
r33138 | | | |||
Phil Cohen
|
r35386 | o 5: 401ccec5e39f secret 'C' | ||
r33138 | | | |||
Phil Cohen
|
r35386 | o 4: 45396c49d53b public 'B' | ||
r33138 | | | |||
Phil Cohen
|
r35386 | o 3: ae36e8e3dfd7 public 'E' | ||
r33138 | | | |||
Phil Cohen
|
r35386 | o 2: 46b37eabc604 public 'D' | ||
r33138 | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33138 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33138 | ||||
$ cd .. | ||||
(pretxncommit version) | ||||
$ cp -R a3 hook-pretxncommit | ||||
$ cd hook-pretxncommit | ||||
Matt Harbison
|
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"' | ||||
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
|
r35386 | @ 7: 401ccec5e39f secret 'C' | ||
r33137 | | | |||
Martin von Zweigbergk
|
r44821 | | o 6: a0b2430ebfb8 secret 'F' | ||
r33137 | | | | |||
Phil Cohen
|
r35386 | o | 5: 45396c49d53b public 'B' | ||
r33137 | | | | |||
Phil Cohen
|
r35386 | o | 4: ae36e8e3dfd7 public 'E' | ||
r33137 | | | | |||
Phil Cohen
|
r35386 | o | 3: 46b37eabc604 public 'D' | ||
r33137 | | | | |||
Phil Cohen
|
r35386 | | o 2: 965c486023db secret 'C' | ||
r33137 | | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33137 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33137 | ||||
$ hg rebase --continue | ||||
already rebased 2:965c486023db "C" as 401ccec5e39f | ||||
rebasing 6:a0b2430ebfb8 "F" | ||||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg | ||
r33137 | $ hg tglogp | |||
Phil Cohen
|
r35386 | @ 6: 6e92a149ac6b secret 'F' | ||
r33137 | | | |||
Phil Cohen
|
r35386 | o 5: 401ccec5e39f secret 'C' | ||
r33137 | | | |||
Phil Cohen
|
r35386 | o 4: 45396c49d53b public 'B' | ||
r33137 | | | |||
Phil Cohen
|
r35386 | o 3: ae36e8e3dfd7 public 'E' | ||
r33137 | | | |||
Phil Cohen
|
r35386 | o 2: 46b37eabc604 public 'D' | ||
r33137 | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33137 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33137 | ||||
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
|
r15917 | $ cd .. | ||
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
|
r35386 | @ 7: 401ccec5e39f secret 'C' | ||
r33139 | | | |||
Martin von Zweigbergk
|
r44821 | | o 6: a0b2430ebfb8 secret 'F' | ||
r33139 | | | | |||
Phil Cohen
|
r35386 | o | 5: 45396c49d53b public 'B' | ||
r33139 | | | | |||
Phil Cohen
|
r35386 | o | 4: ae36e8e3dfd7 public 'E' | ||
r33139 | | | | |||
Phil Cohen
|
r35386 | o | 3: 46b37eabc604 public 'D' | ||
r33139 | | | | |||
Phil Cohen
|
r35386 | | o 2: 965c486023db secret 'C' | ||
r33139 | | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33139 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33139 | ||||
$ hg rebase --continue | ||||
already rebased 2:965c486023db "C" as 401ccec5e39f | ||||
rebasing 6:a0b2430ebfb8 "F" | ||||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg | ||
r33139 | $ hg tglogp | |||
Phil Cohen
|
r35386 | @ 6: 6e92a149ac6b secret 'F' | ||
r33139 | | | |||
Phil Cohen
|
r35386 | o 5: 401ccec5e39f secret 'C' | ||
r33139 | | | |||
Phil Cohen
|
r35386 | o 4: 45396c49d53b public 'B' | ||
r33139 | | | |||
Phil Cohen
|
r35386 | o 3: ae36e8e3dfd7 public 'E' | ||
r33139 | | | |||
Phil Cohen
|
r35386 | o 2: 46b37eabc604 public 'D' | ||
r33139 | | | |||
Phil Cohen
|
r35386 | | o 1: 27547f69f254 public 'B' | ||
r33139 | |/ | |||
Phil Cohen
|
r35386 | o 0: 4a2df7238c3b public 'A' | ||
r33139 | ||||
$ cd .. | ||||
Jeremy Fitzhardinge
|
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
|
r40900 | note: not rebasing 1:fdaca8533b86 "b", its destination already has all its changes | ||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg | ||
Jeremy Fitzhardinge
|
r32313 | $ hg resolve --list | ||
Martin von Zweigbergk
|
r36794 | $ test -d .hg/merge | ||
Jeremy Fitzhardinge
|
r32313 | [1] | ||
Martin von Zweigbergk
|
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
|
r36946 | [1] | ||