##// END OF EJS Templates
clfilter: use unfiltered repo for bookmark push logic...
clfilter: use unfiltered repo for bookmark push logic The remote location of the bookmark may be filtered locally. This changeset ensures that bookmark movement logic has access to all the repo's content.

File last commit:

r17889:ce7bc04d stable
r18009:67c874d1 default
Show More
test-casecollision-merge.t
236 lines | 4.8 KiB | text/troff | Tads3Lexer
/ tests / test-casecollision-merge.t
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 run only on case-insensitive filesystems
$ "$TESTDIR/hghave" icasefs || exit 80
################################
test for branch merging
################################
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 test for rename awareness of case-folding collision check:
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 (1) colliding file is one renamed from collided file:
this is also case for issue3370.
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 $ hg init branch_merge_renaming
$ cd branch_merge_renaming
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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
merge: check filename case collision between changesets for branch merging...
r15673 $ hg update 0
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo 'modified at #2' > a
$ hg commit -m '#2'
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 created new head
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 $ hg init branch_merge_collding
$ cd branch_merge_collding
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 $ echo x > x
$ hg add x
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg commit -m '#3'
created new head
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 $ echo 'modified at #4' > a
$ hg commit -m '#4'
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
$ hg merge
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 abort: case-folding collision between A and a
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 [255]
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg parents --template '{rev}\n'
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 4
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg status -A
C a
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 C x
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ cat a
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 modified at #4
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg update --clean 2
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
r17889 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg merge
abort: case-folding collision between a and A
[255]
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 $ hg parents --template '{rev}\n'
2
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg status -A
C A
$ cat A
A
FUJIWARA Katsunori
icasefs: make case-folding collision detection as deletion aware (issue3648)...
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
merge: check filename case collision between changesets for branch merging...
r15673 $ cd ..
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 ################################
test for linear updates
################################
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 test for rename awareness of case-folding collision check:
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 (1) colliding file is one renamed from collided file
$ hg init linearupdate_renameaware_1
$ cd linearupdate_renameaware_1
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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
merge: check filename case collision between changesets for branch merging...
r15673
$ hg update 0
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ echo 'this is added line' >> a
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
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
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 a
FUJIWARA Katsunori
merge: check filename case collision between changesets for branch merging...
r15673 this is added line
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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
update: fix case-collision with a clean wd and no --clean...
r16492 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg parents --template '{rev}\n'
Patrick Mezard
update: fix case-collision with a clean wd and no --clean...
r16492 0
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ hg status -A
Patrick Mezard
update: fix case-collision with a clean wd and no --clean...
r16492 C a
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
r16478 $ cat A
Patrick Mezard
update: fix case-collision with a clean wd and no --clean...
r16492 a
$ hg up -qC 2
FUJIWARA Katsunori
icasefs: make case-folding collision detection as rename aware (issue3370)...
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 ..