test-casecollision-merge.t
209 lines
| 4.1 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
|
r16478 | $ hg init merge_renameaware_1 | ||
$ cd merge_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 | ||
$ 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 | ||||
$ hg init merge_renameaware_2 | ||||
$ cd merge_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 --clean 0 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo 'modified at #3' > a | ||||
$ hg commit -m '#3' | ||||
created new head | ||||
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' | ||
3 | ||||
$ hg status -A | ||||
C a | ||||
$ cat a | ||||
modified at #3 | ||||
FUJIWARA Katsunori
|
r15673 | |||
FUJIWARA Katsunori
|
r16478 | $ hg update --clean 2 | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ 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
|
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 .. | ||||