test-casecollision-merge.t
236 lines
| 4.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-casecollision-merge.t
FUJIWARA Katsunori
|
r15673 | run only on case-insensitive filesystems | ||
$ "$TESTDIR/hghave" icasefs || exit 80 | ||||
################################ | ||||
test for branch merging | ||||
################################ | ||||
FUJIWARA Katsunori
|
r16478 | test for rename awareness of case-folding collision check: | ||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | (1) colliding file is one renamed from collided file: | ||
this is also case for issue3370. | ||||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r17889 | $ hg init branch_merge_renaming | ||
$ cd branch_merge_renaming | ||||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | $ echo a > a | ||
$ hg add a | ||||
$ hg commit -m '#0' | ||||
$ hg rename a tmp | ||||
$ hg rename tmp A | ||||
$ hg commit -m '#1' | ||||
FUJIWARA Katsunori
|
r15673 | $ hg update 0 | ||
FUJIWARA Katsunori
|
r16478 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
$ echo 'modified at #2' > a | ||||
$ hg commit -m '#2' | ||||
FUJIWARA Katsunori
|
r15673 | created new head | ||
FUJIWARA Katsunori
|
r16478 | $ hg merge | ||
merging a and A to A | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg status -A | ||||
M A | ||||
a | ||||
R a | ||||
$ cat A | ||||
modified at #2 | ||||
$ hg update --clean 1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg merge | ||||
merging A and a to A | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg status -A | ||||
M A | ||||
a | ||||
$ cat A | ||||
modified at #2 | ||||
$ cd .. | ||||
(2) colliding file is not related to collided file | ||||
FUJIWARA Katsunori
|
r17889 | $ hg init branch_merge_collding | ||
$ cd branch_merge_collding | ||||
FUJIWARA Katsunori
|
r16478 | |||
$ echo a > a | ||||
$ hg add a | ||||
$ hg commit -m '#0' | ||||
$ hg remove a | ||||
$ hg commit -m '#1' | ||||
$ echo A > A | ||||
$ hg add A | ||||
$ hg commit -m '#2' | ||||
$ hg update --clean 0 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
FUJIWARA Katsunori
|
r17889 | $ echo x > x | ||
$ hg add x | ||||
FUJIWARA Katsunori
|
r16478 | $ hg commit -m '#3' | ||
created new head | ||||
FUJIWARA Katsunori
|
r17889 | $ echo 'modified at #4' > a | ||
$ hg commit -m '#4' | ||||
FUJIWARA Katsunori
|
r15673 | |||
$ hg merge | ||||
FUJIWARA Katsunori
|
r16478 | abort: case-folding collision between A and a | ||
FUJIWARA Katsunori
|
r15673 | [255] | ||
FUJIWARA Katsunori
|
r16478 | $ hg parents --template '{rev}\n' | ||
FUJIWARA Katsunori
|
r17889 | 4 | ||
FUJIWARA Katsunori
|
r16478 | $ hg status -A | ||
C a | ||||
FUJIWARA Katsunori
|
r17889 | C x | ||
FUJIWARA Katsunori
|
r16478 | $ cat a | ||
FUJIWARA Katsunori
|
r17889 | modified at #4 | ||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | $ hg update --clean 2 | ||
FUJIWARA Katsunori
|
r17889 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||
FUJIWARA Katsunori
|
r16478 | $ hg merge | ||
abort: case-folding collision between a and A | ||||
[255] | ||||
FUJIWARA Katsunori
|
r15673 | $ hg parents --template '{rev}\n' | ||
2 | ||||
FUJIWARA Katsunori
|
r16478 | $ hg status -A | ||
C A | ||||
$ cat A | ||||
A | ||||
FUJIWARA Katsunori
|
r17889 | test for deletion awareness of case-folding collision check (issue3648): | ||
revision '#3' doesn't change 'a', so 'a' should be recognized as | ||||
safely removed in merging between #2 and #3. | ||||
$ hg update --clean 3 | ||||
2 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg merge 2 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg status -A | ||||
M A | ||||
R a | ||||
C x | ||||
$ hg update --clean 2 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg merge 3 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg status -A | ||||
M x | ||||
C A | ||||
FUJIWARA Katsunori
|
r15673 | $ cd .. | ||
FUJIWARA Katsunori
|
r16478 | |||
FUJIWARA Katsunori
|
r15673 | ################################ | ||
test for linear updates | ||||
################################ | ||||
FUJIWARA Katsunori
|
r16478 | test for rename awareness of case-folding collision check: | ||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | (1) colliding file is one renamed from collided file | ||
$ hg init linearupdate_renameaware_1 | ||||
$ cd linearupdate_renameaware_1 | ||||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | $ echo a > a | ||
$ hg add a | ||||
$ hg commit -m '#0' | ||||
$ hg rename a tmp | ||||
$ hg rename tmp A | ||||
$ hg commit -m '#1' | ||||
FUJIWARA Katsunori
|
r15673 | |||
$ hg update 0 | ||||
FUJIWARA Katsunori
|
r16478 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | $ echo 'this is added line' >> a | ||
FUJIWARA Katsunori
|
r15673 | $ hg update 1 | ||
merging a and A to A | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
$ hg status -A | ||||
M A | ||||
$ cat A | ||||
FUJIWARA Katsunori
|
r16478 | a | ||
FUJIWARA Katsunori
|
r15673 | this is added line | ||
FUJIWARA Katsunori
|
r16478 | |||
$ cd .. | ||||
(2) colliding file is not related to collided file | ||||
$ hg init linearupdate_renameaware_2 | ||||
$ cd linearupdate_renameaware_2 | ||||
$ echo a > a | ||||
$ hg add a | ||||
$ hg commit -m '#0' | ||||
$ hg remove a | ||||
$ hg commit -m '#1' | ||||
$ echo A > A | ||||
$ hg add A | ||||
$ hg commit -m '#2' | ||||
$ hg update 0 | ||||
Patrick Mezard
|
r16492 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
FUJIWARA Katsunori
|
r16478 | $ hg parents --template '{rev}\n' | ||
Patrick Mezard
|
r16492 | 0 | ||
FUJIWARA Katsunori
|
r16478 | $ hg status -A | ||
Patrick Mezard
|
r16492 | C a | ||
FUJIWARA Katsunori
|
r16478 | $ cat A | ||
Patrick Mezard
|
r16492 | a | ||
$ hg up -qC 2 | ||||
FUJIWARA Katsunori
|
r16478 | |||
$ hg update --check 0 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg parents --template '{rev}\n' | ||||
0 | ||||
$ hg status -A | ||||
C a | ||||
$ cat a | ||||
a | ||||
$ hg update --clean 2 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg parents --template '{rev}\n' | ||||
2 | ||||
$ hg status -A | ||||
C A | ||||
$ cat A | ||||
A | ||||
$ cd .. | ||||
(3) colliding file is not related to collided file: added in working dir | ||||
$ hg init linearupdate_renameaware_3 | ||||
$ cd linearupdate_renameaware_3 | ||||
$ echo a > a | ||||
$ hg add a | ||||
$ hg commit -m '#0' | ||||
$ hg rename a b | ||||
$ hg commit -m '#1' | ||||
$ hg update 0 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo B > B | ||||
$ hg add B | ||||
$ hg status | ||||
A B | ||||
$ hg update | ||||
abort: case-folding collision between b and B | ||||
[255] | ||||
$ hg update --check | ||||
abort: uncommitted local changes | ||||
[255] | ||||
$ hg update --clean | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg parents --template '{rev}\n' | ||||
1 | ||||
$ hg status -A | ||||
C b | ||||
$ cat b | ||||
a | ||||
$ cd .. | ||||