test-rebase-check-restore.t
223 lines
| 4.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-rebase-check-restore.t
|
r12608 | $ cat >> $HGRCPATH <<EOF | ||
> [extensions] | ||||
> rebase= | ||||
> | ||||
|
r15742 | > [phases] | ||
> publish=False | ||||
> | ||||
|
r12608 | > [alias] | ||
|
r15917 | > tglog = log -G --template "{rev}:{phase} '{desc}' {branches}\n" | ||
|
r12608 | > EOF | ||
$ hg init a | ||||
$ cd a | ||||
$ echo A > A | ||||
$ hg add A | ||||
$ hg ci -m A | ||||
$ echo 'B' > B | ||||
$ hg add B | ||||
$ hg ci -m 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 add E | ||||
$ hg ci -m E | ||||
$ hg up -q -C 0 | ||||
$ hg branch 'notdefault' | ||||
marked working directory as branch notdefault | ||||
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
|
r12608 | $ echo F >> A | ||
$ hg ci -m F | ||||
$ cd .. | ||||
|
r15917 | Rebasing B onto E - check keep: and phases | ||
|
r12608 | |||
$ hg clone -q -u . a a1 | ||||
$ cd a1 | ||||
|
r15917 | $ hg phase --force --secret 2 | ||
|
r12608 | |||
$ hg tglog | ||||
|
r15917 | @ 5:draft 'F' notdefault | ||
|
r12608 | | | ||
|
r15917 | | o 4:draft 'E' | ||
|
r12608 | | | | ||
|
r15917 | | o 3:draft 'D' | ||
|
r12608 | |/ | ||
|
r15917 | | o 2:secret 'C' | ||
|
r12608 | | | | ||
|
r15917 | | o 1:draft 'B' | ||
|
r12608 | |/ | ||
|
r15917 | o 0:draft 'A' | ||
|
r12608 | |||
$ hg rebase -s 1 -d 4 --keep | ||||
|
r23517 | rebasing 1:27547f69f254 "B" | ||
rebasing 2:965c486023db "C" | ||||
|
r12608 | merging A | ||
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
|
r45710 | unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') | ||
|
r18935 | [1] | ||
|
r12608 | |||
Solve the conflict and go on: | ||||
$ echo 'conflict solved' > A | ||||
$ rm A.orig | ||||
$ hg resolve -m A | ||||
|
r21947 | (no more unresolved files) | ||
|
r27626 | continue: hg rebase --continue | ||
|
r12608 | $ hg rebase --continue | ||
|
r23517 | already rebased 1:27547f69f254 "B" as 45396c49d53b | ||
rebasing 2:965c486023db "C" | ||||
|
r12608 | |||
$ hg tglog | ||||
|
r19925 | o 7:secret 'C' | ||
|
r12608 | | | ||
|
r15917 | o 6:draft 'B' | ||
|
r12608 | | | ||
|
r19925 | | @ 5:draft 'F' notdefault | ||
|
r12608 | | | | ||
|
r15917 | o | 4:draft 'E' | ||
|
r12608 | | | | ||
|
r15917 | o | 3:draft 'D' | ||
|
r12608 | |/ | ||
|
r15917 | | o 2:secret 'C' | ||
|
r12608 | | | | ||
|
r15917 | | o 1:draft 'B' | ||
|
r12608 | |/ | ||
|
r15917 | o 0:draft 'A' | ||
|
r12608 | |||
$ cd .. | ||||
Rebase F onto E - check keepbranches: | ||||
$ hg clone -q -u . a a2 | ||||
$ cd a2 | ||||
|
r15917 | $ hg phase --force --secret 2 | ||
|
r12608 | |||
$ hg tglog | ||||
|
r15917 | @ 5:draft 'F' notdefault | ||
|
r12608 | | | ||
|
r15917 | | o 4:draft 'E' | ||
|
r12608 | | | | ||
|
r15917 | | o 3:draft 'D' | ||
|
r12608 | |/ | ||
|
r15917 | | o 2:secret 'C' | ||
|
r12608 | | | | ||
|
r15917 | | o 1:draft 'B' | ||
|
r12608 | |/ | ||
|
r15917 | o 0:draft 'A' | ||
|
r12608 | |||
$ hg rebase -s 5 -d 4 --keepbranches | ||||
|
r46356 | rebasing 5:01e6ebbd8272 tip "F" | ||
|
r12608 | merging A | ||
|
r26614 | warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||
|
r45710 | unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') | ||
|
r18935 | [1] | ||
|
r12608 | |||
Solve the conflict and go on: | ||||
$ echo 'conflict solved' > A | ||||
$ rm A.orig | ||||
$ hg resolve -m A | ||||
|
r21947 | (no more unresolved files) | ||
|
r27626 | continue: hg rebase --continue | ||
|
r12608 | $ hg rebase --continue | ||
|
r46356 | rebasing 5:01e6ebbd8272 tip "F" | ||
|
r35394 | saved backup bundle to $TESTTMP/a2/.hg/strip-backup/01e6ebbd8272-6fd3a015-rebase.hg | ||
|
r12608 | |||
$ hg tglog | ||||
|
r15917 | @ 5:draft 'F' notdefault | ||
|
r12608 | | | ||
|
r15917 | o 4:draft 'E' | ||
|
r12608 | | | ||
|
r15917 | o 3:draft 'D' | ||
|
r12608 | | | ||
|
r15917 | | o 2:secret 'C' | ||
|
r12608 | | | | ||
|
r15917 | | o 1:draft 'B' | ||
|
r12608 | |/ | ||
|
r15917 | o 0:draft 'A' | ||
|
r12608 | |||
|
r45972 | $ cat >> .hg/hgrc << EOF | ||
> [experimental] | ||||
> evolution.createmarkers=True | ||||
> EOF | ||||
When updating away from a dirty, obsolete wdir, don't complain that the old p1 | ||||
is filtered and requires --hidden. | ||||
$ echo conflict > A | ||||
$ hg debugobsolete 071d07019675449d53b7e312c65bcf28adbbdb64 965c486023dbfdc9c32c52dc249a231882fd5c17 | ||||
1 new obsolescence markers | ||||
obsoleted 1 changesets | ||||
$ hg update -r 2 --config ui.merge=internal:merge --merge | ||||
merging A | ||||
warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||||
1 files updated, 0 files merged, 1 files removed, 1 files unresolved | ||||
use 'hg resolve' to retry unresolved file merges | ||||
[1] | ||||
$ hg resolve A | ||||
merging A | ||||
warning: conflicts while merging A! (edit, then use 'hg resolve --mark') | ||||
[1] | ||||
|
r46383 | An unresolved conflict will pin the obsolete revision | ||
$ hg log -G -Tcompact | ||||
% 5[tip] 071d07019675 1970-01-01 00:00 +0000 test | ||||
| F | ||||
| | ||||
o 4 ae36e8e3dfd7 1970-01-01 00:00 +0000 test | ||||
| E | ||||
| | ||||
o 3:0 46b37eabc604 1970-01-01 00:00 +0000 test | ||||
| D | ||||
| | ||||
| @ 2 965c486023db 1970-01-01 00:00 +0000 test | ||||
| | C | ||||
| | | ||||
| o 1 27547f69f254 1970-01-01 00:00 +0000 test | ||||
|/ B | ||||
| | ||||
o 0 4a2df7238c3b 1970-01-01 00:00 +0000 test | ||||
A | ||||
But resolving the conflicts will unpin it | ||||
$ hg resolve -m A | ||||
(no more unresolved files) | ||||
$ hg log -G -Tcompact | ||||
o 4[tip] ae36e8e3dfd7 1970-01-01 00:00 +0000 test | ||||
| E | ||||
| | ||||
o 3:0 46b37eabc604 1970-01-01 00:00 +0000 test | ||||
| D | ||||
| | ||||
| @ 2 965c486023db 1970-01-01 00:00 +0000 test | ||||
| | C | ||||
| | | ||||
| o 1 27547f69f254 1970-01-01 00:00 +0000 test | ||||
|/ B | ||||
| | ||||
o 0 4a2df7238c3b 1970-01-01 00:00 +0000 test | ||||
A | ||||
|
r45972 | $ hg up -C -q . | ||
|
r16913 | |||
$ cd .. | ||||