##// END OF EJS Templates
py3: use b'%d' to convert int to bytes instead of str()...
py3: use b'%d' to convert int to bytes instead of str() Differential Revision: https://phab.mercurial-scm.org/D3280

File last commit:

r37050:98663bed default
r37599:5b836a4c default
Show More
test-rebase-collapse.t
819 lines | 16.1 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-collapse.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013 > mq=
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 > drawdag=$TESTDIR/drawdag.py
Adrian Buehlmann
tests: unify test-rebase*
r12608 >
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
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 Highest phase of source commits is used:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg init phase
$ cd phase
$ hg debugdrawdag << 'EOF'
> D
> |
> F C
> | |
> E B
> |/
> A
> EOF
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg phase --force --secret D
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 $ cat > $TESTTMP/editor.sh <<EOF
> echo "==== before editing"
> cat \$1
> echo "===="
> echo "edited manually" >> \$1
> EOF
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ HGEDITOR="sh $TESTTMP/editor.sh" hg rebase --collapse --keepbranches -e --dest F
rebasing 1:112478962961 "B" (B)
rebasing 3:26805aba1e60 "C" (C)
rebasing 5:f585351a92f8 "D" (D tip)
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 ==== before editing
Collapsed revision
* B
* C
* D
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 HG: user: test
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 HG: branch 'default'
Matt Mackall
dirstate: properly clean-up some more merge state on setparents
r22895 HG: added B
HG: added C
HG: added D
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 ====
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 saved backup bundle to $TESTTMP/phase/.hg/strip-backup/112478962961-cb2a9b47-rebase.hg
Adrian Buehlmann
tests: unify test-rebase*
r12608
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
rebase: fix phases movement...
r15917 $ hg tglogp
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 3: 92fa5f5fe108 secret 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * B
| * C
FUJIWARA Katsunori
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"...
r20766 | * D
|
|
| edited manually'
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 2: 64a8289d2492 draft 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 1: 7fb047a69f22 draft 'E'
|
o 0: 426bada5c675 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
B
C
D
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 E
Adrian Buehlmann
tests: unify test-rebase*
r12608 F
$ cd ..
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 Merge gets linearized:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg init linearized-merge
$ cd linearized-merge
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> F D
> |/|
> C B
> |/
> A
> EOF
$ hg phase --force --secret D
$ hg rebase --source B --collapse --dest F
rebasing 1:112478962961 "B" (B)
rebasing 3:4e4f9194f9f1 "D" (D)
saved backup bundle to $TESTTMP/linearized-merge/.hg/strip-backup/112478962961-e389075b-rebase.hg
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 3: 5bdc08b7da2b 'Collapsed revision
| * B
| * D'
o 2: afc707c82df0 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 1: dc0947a82db8 'C'
|
o 0: 426bada5c675 '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
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 B
C
Adrian Buehlmann
tests: unify test-rebase*
r12608 F
$ cd ..
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 Custom message:
$ hg init message
$ cd message
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> C
> |
> D B
> |/
> A
> EOF
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047
$ hg rebase --base B -m 'custom message'
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 abort: message can only be specified with collapse
[255]
FUJIWARA Katsunori
rebase: use "rebase.collapse" as "editform" for "--collapse" always...
r22206 $ cat > $TESTTMP/checkeditform.sh <<EOF
> env | grep HGEDITFORM
> true
> EOF
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --source B --collapse -m 'custom message' -e --dest D
rebasing 1:112478962961 "B" (B)
rebasing 3:26805aba1e60 "C" (C tip)
FUJIWARA Katsunori
rebase: use "rebase.collapse" as "editform" for "--collapse" always...
r22206 HGEDITFORM=rebase.collapse
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 saved backup bundle to $TESTTMP/message/.hg/strip-backup/112478962961-f4131707-rebase.hg
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 2: 2f197b9a08f3 'custom message'
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 1: b18e25de2cf5 'D'
|
o 0: 426bada5c675 'A'
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661 A
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 B
C
D
Radomir Dopieralski
rebase: add -m/--message to rebase --collapse (issue2389)...
r13661
$ cd ..
Adrian Buehlmann
tests: unify test-rebase*
r12608
Rebase and collapse - more than one external (fail):
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg init multiple-external-parents
$ cd multiple-external-parents
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> G
> |\
> | F
> | |
> D E
> |\|
> H C B
> \|/
> A
> EOF
$ hg rebase -s C --dest H --collapse
abort: unable to collapse on top of 3, there is more than one external parent: 1, 6
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Rebase and collapse - E onto H:
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg rebase -s E --dest I --collapse # root (E) is not a merge
abort: unknown revision 'I'!
[255]
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 7: 64e264db77f0 'G'
|\
| o 6: 11abe3fb10b8 'F'
| |
| o 5: 49cb92066bfd 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o | 4: 4e4f9194f9f1 'D'
|\|
| | o 3: 575c4b5ec114 'H'
| | |
o---+ 2: dc0947a82db8 'C'
/ /
o / 1: 112478962961 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 0: 426bada5c675 '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
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 B
Adrian Buehlmann
tests: unify test-rebase*
r12608 C
E
F
$ cd ..
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Test that branchheads cache is updated correctly when doing a strip in which
Pierre-Yves David
destroyed: drop complex branchcache rebuilt logic...
r18395 the parent of the ancestor node to be stripped does not become a head and also,
the parent of a node that is a child of the node stripped becomes a head (node
3). The code is now much simpler and we could just test a simpler scenario
We keep it the test this way in case new complexity is injected.
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 Create repo b:
$ hg init branch-heads
$ cd branch-heads
$ hg debugdrawdag << 'EOF'
> G
> |\
> | F
> | |
> D E
> |\|
> H C B
> \|/
> A
> EOF
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg heads --template="{rev}:{node} {branch}\n"
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 7:64e264db77f061f16d9132b70c5a58e2461fb630 default
3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
64e264db77f061f16d9132b70c5a58e2461fb630 7
575c4b5ec114d64b681d33f8792853568bfb2b2c o default
64e264db77f061f16d9132b70c5a58e2461fb630 o default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg strip 4
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 saved backup bundle to $TESTTMP/branch-heads/.hg/strip-backup/4e4f9194f9f1-5ec4b5e6-backup.hg
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
11abe3fb10b8689b560681094b17fe161871d043 5
dc0947a82db884575bb76ea10ac97b08536bfa03 o default
575c4b5ec114d64b681d33f8792853568bfb2b2c o default
11abe3fb10b8689b560681094b17fe161871d043 o default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg heads --template="{rev}:{node} {branch}\n"
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 5:11abe3fb10b8689b560681094b17fe161871d043 default
3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
2:dc0947a82db884575bb76ea10ac97b08536bfa03 default
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ cd ..
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 Preserves external parent
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg init external-parent
$ cd external-parent
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> H
> |\
> | G
> | |
> | F # F/E = F\n
> | |
> D E # D/D = D\n
> |\|
> I C B
> \|/
> A
> EOF
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg rebase -s F --dest I --collapse # root (F) is not a merge
rebasing 6:c82b08f646f1 "F" (F)
rebasing 7:a6db7fa104e1 "G" (G)
rebasing 8:e1d201b72d91 "H" (H tip)
saved backup bundle to $TESTTMP/external-parent/.hg/strip-backup/c82b08f646f1-f2721fbf-rebase.hg
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 6: 681daa3e686d 'Collapsed revision
|\ * F
Adrian Buehlmann
tests: unify test-rebase*
r12608 | | * G
| | * H'
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 | | o 5: 49cb92066bfd 'E'
| | |
| o | 4: 09143c0bf13e 'D'
| |\|
o | | 3: 08ebfeb61bac 'I'
| | |
| o | 2: dc0947a82db8 'C'
|/ /
| o 1: 112478962961 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 0: 426bada5c675 '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
E
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 F
Adrian Buehlmann
tests: unify test-rebase*
r12608 G
I
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat E
F
$ cd ..
Martin von Zweigbergk
tests: add some more tests to test-rebase-collapse.t...
r37048 Rebasing from multiple bases:
$ hg init multiple-bases
$ cd multiple-bases
$ hg debugdrawdag << 'EOF'
> C B
> D |/
> |/
> A
> EOF
$ hg rebase --collapse -r 'B+C' -d D
rebasing 1:fc2b737bb2e5 "B" (B)
rebasing 2:dc0947a82db8 "C" (C)
saved backup bundle to $TESTTMP/multiple-bases/.hg/strip-backup/dc0947a82db8-b0c1a7ea-rebase.hg
$ hg tglog
o 2: 2127ae44d291 'Collapsed revision
| * B
| * C'
o 1: b18e25de2cf5 'D'
|
o 0: 426bada5c675 'A'
$ cd ..
With non-contiguous commits:
$ hg init non-contiguous
$ cd non-contiguous
$ cat >> .hg/hgrc <<EOF
> [experimental]
> evolution=all
> EOF
$ hg debugdrawdag << 'EOF'
> F
> |
> E
> |
> D
> |
> C
> |
> B G
> |/
> A
> EOF
BROKEN: should be allowed
$ hg rebase --collapse -r 'B+D+F' -d G
abort: unable to collapse on top of 2, there is more than one external parent: 3, 5
[255]
$ cd ..
$ hg init multiple-external-parents-2
$ cd multiple-external-parents-2
$ hg debugdrawdag << 'EOF'
> D G
> |\ /|
> B C E F
> \| |/
> \ H /
> \|/
> A
> EOF
$ hg rebase --collapse -d H -s 'B+F'
abort: unable to collapse on top of 5, there is more than one external parent: 1, 3
[255]
$ cd ..
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 With internal merge:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg init internal-merge
$ cd internal-merge
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> E
> |\
> C D
> |/
> F B
> |/
> A
> EOF
Adrian Buehlmann
tests: unify test-rebase*
r12608
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg rebase -s B --collapse --dest F
rebasing 1:112478962961 "B" (B)
rebasing 3:26805aba1e60 "C" (C)
rebasing 4:be0ef73c17ad "D" (D)
rebasing 5:02c4367d6973 "E" (E tip)
saved backup bundle to $TESTTMP/internal-merge/.hg/strip-backup/112478962961-1dfb057b-rebase.hg
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 2: c0512a1797b0 'Collapsed revision
Adrian Buehlmann
tests: unify test-rebase*
r12608 | * B
| * C
| * D
| * E'
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 1: 8908a377a434 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 0: 426bada5c675 '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
B
C
D
F
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ cd ..
Adrian Buehlmann
tests: unify test-rebase*
r12608
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 Interactions between collapse and keepbranches
$ hg init e
$ cd e
$ echo 'a' > a
$ hg ci -Am 'A'
adding a
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 $ hg branch 'one'
marked working directory as branch one
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 $ echo 'b' > b
$ hg ci -Am 'B'
adding b
Durham Goode
bookmark: don't allow integers as bookmark/branch/tag names...
r18566 $ hg branch 'two'
marked working directory as branch two
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 $ echo 'c' > c
$ hg ci -Am 'C'
adding c
$ hg up -q 0
$ echo 'd' > d
$ hg ci -Am 'D'
adding d
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 41acb9dca9eb 'D'
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 8ac4a08debf1 'C' two
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 1ba175478953 'B' one
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A'
Stefano Tortarolo
rebase: block collapse with keepbranches on multiple named branches (issue2112)...
r14897
$ hg rebase --keepbranches --collapse -s 1 -d 3
abort: cannot collapse multiple named branches
[255]
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 $ repeatchange() {
> hg checkout $1
> hg cp d z
> echo blah >> z
> hg commit -Am "$2" --user "$3"
> }
$ repeatchange 3 "E" "user1"
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ repeatchange 3 "E" "user2"
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 5: fbfb97b1089a 'E'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 4: f338eb3c2c7c 'E'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 41acb9dca9eb 'D'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 8ac4a08debf1 'C' two
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 1ba175478953 'B' one
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990
$ hg rebase -s 5 -d 4
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:fbfb97b1089a "E" (tip)
Mads Kiilerich
rebase: show warning when rebase creates no changes to commit...
r23518 note: rebase of 5:fbfb97b1089a created no changes to commit
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-rebase.hg
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 4: f338eb3c2c7c 'E'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 41acb9dca9eb 'D'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 8ac4a08debf1 'C' two
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 1ba175478953 'B' one
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A'
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990
$ hg export tip
# HG changeset patch
# User user1
# Date 0 0
Mads Kiilerich
export: show 'Date' header in a format that also is readable for humans...
r18648 # Thu Jan 01 00:00:00 1970 +0000
Augie Fackler
test-rebase-collapse: Add test for rebase regression introduced in 12309c09d19a
r15990 # Node ID f338eb3c2c7cc5b5915676a2376ba7ac558c5213
# Parent 41acb9dca9eb976e84cd21fcb756b4afa5a35c09
E
diff -r 41acb9dca9eb -r f338eb3c2c7c z
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/z Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,2 @@
+d
+blah
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551
$ cd ..
Rebase, collapse and copies
$ hg init copies
$ cd copies
$ hg unbundle "$TESTDIR/bundles/renames.hg"
adding changesets
adding manifests
adding file changes
added 4 changesets with 11 changes to 7 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f447d5abf5ea:338e84e2e558
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up -q tip
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 338e84e2e558 'move2'
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: 6e7340ee38c0 'move1'
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 1352765a01d4 'change'
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: f447d5abf5ea 'add'
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551
$ hg rebase --collapse -d 1
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:6e7340ee38c0 "move1"
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 merging a and d to d
merging b and e to e
merging c and f to f
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:338e84e2e558 "move2" (tip)
Mads Kiilerich
merge: keep destination filename as key in filemerge actions...
r20945 merging f and c to c
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 merging e and g to g
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-ef8ef003-rebase.hg
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ hg st
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg st --copies --change tip
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 A d
a
A g
b
R b
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ cat c
c
c
$ cat d
a
a
$ cat g
b
b
$ hg log -r . --template "{file_copies}\n"
d (a)g (b)
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696
Test collapsing a middle revision in-place
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 2: 64b456429f67 'Collapsed revision
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 | * move1
| * move2'
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 1: 1352765a01d4 'change'
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: f447d5abf5ea 'add'
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696
$ hg rebase --collapse -r 1 -d 0
abort: can't remove original changesets with unrebased descendants
(use --keep to keep original changesets)
[255]
Test collapsing in place
$ hg rebase --collapse -b . -d 0
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:1352765a01d4 "change"
rebasing 2:64b456429f67 "Collapsed revision" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-45a352ea-rebase.hg
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg st --change tip --copies
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 M a
M c
A d
a
A g
b
R b
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg up tip -q
Patrick Mezard
rebase: allow collapsing branches in place (issue3111)...
r16696 $ cat a
a
a
$ cat c
c
c
$ cat d
a
a
$ cat g
b
b
Patrick Mezard
localrepo: add setparents() to adjust dirstate copies (issue3407)...
r16551 $ cd ..
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Test stripping a revision with another child
$ hg init f
$ cd f
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> C B
> |/
> A
> EOF
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
2:dc0947a82db884575bb76ea10ac97b08536bfa03 default: C
1:112478962961147124edd43549aedd1a335e44bf default: B
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg strip C
saved backup bundle to $TESTTMP/f/.hg/strip-backup/dc0947a82db8-d21b92a4-backup.hg
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg tglog
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 1: 112478962961 'B'
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013 |
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 o 0: 426bada5c675 'A'
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ hg heads --template="{rev}:{node} {branch}: {desc}\n"
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 1:112478962961147124edd43549aedd1a335e44bf default: B
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
$ cd ..
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 Test collapsing changes that add then remove a file
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ hg init collapseaddremove
$ cd collapseaddremove
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ touch base
$ hg commit -Am base
adding base
$ touch a
$ hg commit -Am a
adding a
$ hg rm a
$ touch b
$ hg commit -Am b
adding b
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 $ hg book foo
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ hg rebase -d 0 -r "1::2" --collapse -m collapsed
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6d8d9f24eec3 "a"
Martin von Zweigbergk
rebase: also include other namespaces in changeset description...
r34291 rebasing 2:1cc73eca5ecc "b" (foo tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-77d3b6e2-rebase.hg
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 $ hg log -G --template "{rev}: '{desc}' {bookmarks}"
@ 1: 'collapsed' foo
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 |
Durham Goode
rebase: fix working copy location after a --collapse (issue4080)...
r19986 o 0: 'base'
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg manifest --rev tip
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 b
base
Joshua Redstone
strip: incrementally update the branchheads cache after a strip...
r17013
Durham Goode
rebase: fix --collapse when a file was added then removed...
r18778 $ cd ..
liscju
rebase: adds storing collapse message (issue4792)...
r28185
Test that rebase --collapse will remember message after
running into merge conflict and invoking rebase --continue.
$ hg init collapse_remember_message
$ cd collapse_remember_message
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ hg debugdrawdag << 'EOF'
> C B # B/A = B\n
> |/ # C/A = C\n
> A
> EOF
$ hg rebase --collapse -m "new message" -b B -d C
rebasing 1:81e5401e4d37 "B" (B)
merging A
warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
liscju
rebase: adds storing collapse message (issue4792)...
r28185 unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 $ rm A.orig
$ hg resolve --mark A
liscju
rebase: adds storing collapse message (issue4792)...
r28185 (no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 rebasing 1:81e5401e4d37 "B" (B)
saved backup bundle to $TESTTMP/collapse_remember_message/.hg/strip-backup/81e5401e4d37-96c3dd30-rebase.hg
liscju
rebase: adds storing collapse message (issue4792)...
r28185 $ hg log
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 changeset: 2:17186933e123
liscju
rebase: adds storing collapse message (issue4792)...
r28185 tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 summary: new message
liscju
rebase: adds storing collapse message (issue4792)...
r28185
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 changeset: 1:043039e9df84
tag: C
liscju
rebase: adds storing collapse message (issue4792)...
r28185 user: test
date: Thu Jan 01 00:00:00 1970 +0000
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 summary: C
liscju
rebase: adds storing collapse message (issue4792)...
r28185
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 changeset: 0:426bada5c675
tag: A
liscju
rebase: adds storing collapse message (issue4792)...
r28185 user: test
date: Thu Jan 01 00:00:00 1970 +0000
Martin von Zweigbergk
tests: use drawdag in test-rebase-collapse.t...
r37047 summary: A
liscju
rebase: adds storing collapse message (issue4792)...
r28185
$ cd ..
Martin von Zweigbergk
tests: add some more tests to test-rebase-collapse.t...
r37048
Test aborted editor on final message
$ HGMERGE=:merge3
$ export HGMERGE
$ hg init aborted-editor
$ cd aborted-editor
$ hg debugdrawdag << 'EOF'
> C # D/A = D\n
> | # C/A = C\n
> B D # B/A = B\n
> |/ # A/A = A\n
> A
> EOF
$ hg rebase --collapse -t internal:merge3 -s B -d D
rebasing 1:f899f3910ce7 "B" (B)
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
o 3: 63668d570d21 'C'
|
| @ 2: 82b8abf9c185 'D'
| |
@ | 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ cat A
<<<<<<< dest: 82b8abf9c185 D - test: D
D
||||||| base
A
=======
B
>>>>>>> source: f899f3910ce7 B - test: B
$ echo BC > A
$ hg resolve -m
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase --continue
rebasing 1:f899f3910ce7 "B" (B)
rebasing 3:63668d570d21 "C" (C tip)
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
@ 3: 63668d570d21 'C'
|
| @ 2: 82b8abf9c185 'D'
| |
o | 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ cat A
<<<<<<< dest: 82b8abf9c185 D - test: D
BC
||||||| base
B
=======
C
>>>>>>> source: 63668d570d21 C tip - test: C
$ echo BD > A
$ hg resolve -m
(no more unresolved files)
continue: hg rebase --continue
$ HGEDITOR=false hg rebase --continue --config ui.interactive=1
already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
rebasing 3:63668d570d21 "C" (C tip)
abort: edit failed: false exited with status 1
[255]
$ hg tglog
o 3: 63668d570d21 'C'
|
| @ 2: 82b8abf9c185 'D'
| |
o | 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ hg rebase --continue
already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
Martin von Zweigbergk
rebase: store rebase state after each commit...
r37050 already rebased 3:63668d570d21 "C" (C tip) as 82b8abf9c185
saved backup bundle to $TESTTMP/aborted-editor/.hg/strip-backup/f899f3910ce7-7cab5e15-rebase.hg