##// END OF EJS Templates
rebase: preserve working directory parent (BC)...
rebase: preserve working directory parent (BC) Prior to this changeset, rebase always left the working directory as a parent of the last rebased changeset. The is dubious when, before the rebase, the working directory was not a parent of the tip most rebased changeset. With this changeset, we move the working directory back to its original parent. If the original parent was rebased, we use it's successors. This is a step toward solving issue3813 (rebase loses active bookmark if it's not on a head)

File last commit:

r19925:9c78ed39 default
r19925:9c78ed39 default
Show More
test-rebase-detach.t
398 lines | 5.5 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-detach.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+2 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 Rebasing D onto H detaching from C:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a1
$ cd a1
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 3
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 3 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 7:secret 'D'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 6:draft 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 5:draft 'G'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |/|
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o | 4:draft 'F'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 3:draft 'E'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 2:draft 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 1:draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
D
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 F
H
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 Rebasing C onto H detaching from B:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a2
$ cd a2
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 2 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 7: 'D'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |
o 6: 'C'
|
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 4: 'G'
|/|
o | 3: 'F'
| |
| o 2: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
C
D
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 F
H
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 Rebasing B onto H using detach (same as not using it):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a3
$ cd a3
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 1 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 7: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 o 6: 'C'
|
o 5: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
B
C
D
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 F
H
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 Rebasing C onto H detaching from B and collapsing:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a4
$ cd a4
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 3
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase --collapse -s 2 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 6:secret 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * C
| * D'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5:draft 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 4:draft 'G'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |/|
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o | 3:draft 'F'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 2:draft 'E'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 1:draft 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Adrian Buehlmann
tests: unify test-rebase*
r12608 A
C
D
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 F
H
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 Rebasing across null as ancestor
$ hg clone -q -U a a5
$ cd a5
$ echo x > x
$ hg add x
$ hg ci -m "extra branch"
created new head
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 @ 8: 'extra branch'
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 o 7: 'H'
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 1 -d tip
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'D'
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 o 7: 'C'
|
o 6: 'B'
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5: 'extra branch'
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121
o 4: 'H'
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 |
Nicolas Dumazet
tests: change test-rebase-detach to use bundle/rebase.hg
r14121 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
Henrik Stuart
rebase: support --detach when null is common ancestor
r13021 o 0: 'A'
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132
$ hg rebase -d 5 -s 7
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/13547172c9c0-backup.hg (glob)
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132 $ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'D'
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132 |
o 7: 'C'
|
| o 6: 'B'
|/
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 5: 'extra branch'
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132
o 4: 'H'
|
| o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 $ cd ..
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 Verify that target is not selected as external rev (issue3085)
$ hg clone -q -U a a6
$ cd a6
$ hg up -q 6
$ echo "I" >> E
$ hg ci -m "I"
$ hg merge 7
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m "Merge"
$ echo "J" >> F
$ hg ci -m "J"
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 8 -d 7 --collapse --config ui.merge=internal:other
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'Collapsed revision
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 | * I
| * Merge
| * J'
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 7: 'H'
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 |
| o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg log --rev tip
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 changeset: 8:9472f4b1d736
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Collapsed revision
$ cd ..
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 Ensure --continue restores a correct state (issue3046) and phase:
Stefano Tortarolo
rebase: ensure target is not taken as external (issue3085)...
r15469 $ hg clone -q a a7
$ cd a7
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 $ hg up -q 3
$ echo 'H2' > H
$ hg ci -A -m 'H2'
adding H
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg phase --force --secret 8
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s 8 -d 7 --config ui.merge=internal:fail
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 merging H
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging H incomplete! (edit conflicts, 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]
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 $ hg resolve --all -t internal:local
$ hg rebase -c
Mads Kiilerich
tests: add missing '(glob)'s to match '\' in paths in test output on windows
r15520 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6215fafa5447-backup.hg (glob)
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
Patrick Mezard
rebase: skip resolved but emptied revisions...
r16509 @ 7:draft 'H'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 6:draft 'G'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 |/|
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o | 5:draft 'F'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 4:draft 'E'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 3:draft 'D'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 2:draft 'C'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 | |
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 | o 1:draft 'B'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464 |/
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 o 0:draft 'A'
Stefano Tortarolo
rebase: treat nullmerge as a special case in rebasestate (issue3046)...
r15464
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..