annotate tests/test-casefolding.t @ 23923:ab6fd3205dad stable

largefiles: fix commit of a directory with no largefile changes (issue4330) When a directory is named in the commit file list, the previous behavior was to walk the list, and if no normal files in the directory were also named, add the corresponding standin for each largefile in that directory. The directory is then dropped from the list, so that committing a directory with no normal file changes works. It then added the corresponding standin directory for the first largefile seen, by prefixing it with '.hglf/'. The latter is unnecessary since each affected largefile is explicitly referenced by its standin in the list. It also caused an abort if there were no changed largefiles in the directory, because none of its standins changed: abort: .hglf/foo/bar: no match under directory! This list of files is used to tweak a matcher in lfutil.updatestandinsbymatch(), which is what is passed to commit(). The status() call that is ultimately done in the commit code with this matcher seems to have some OS specific differences. It is not necessary to append '.' for Windows to run the largefiles tests cleanly. But if '.' is not added to the list, the match function isn't called on Linux, so status() would miss any normal files that were also in a named directory. The commit then proceeds without those normal files, or says "nothing changed" if there were no changed largefiles in the directory. This is not filesystem specific, as VFAT on Linux had the same behavior as when run on ext4. It is also not an issue with lfilesrepo.status(), since that only calls the overridden implementation when paths are passed to commit. I dont have access to an OS X machine ATM to test there. Maybe there's a better way to do this. But since the standin directory for the first largefile was previously being added, and that caused the same walk in status(), there's no preformance change to this. There is no danger of erroneously committing files in '.', because the original match function is called, and if it fails, the lfutil.updatestandinsbymatch() tweaked matcher only indicates a match if the file is in the list of standins- and '.' never is. The added tests confirm this.
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 18 Jan 2015 15:15:40 -0500
parents 45c95e2f99ad
children 1784ca148392
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 19161
diff changeset
1 #require icasefs
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
3 $ hg debugfs | grep 'case-sensitive:'
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
4 case-sensitive: no
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
5
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
6 test file addition with bad case
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
8 $ hg init repo1
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
9 $ cd repo1
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
10 $ echo a > a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
11 $ hg add A
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
12 adding a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
13 $ hg st
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
14 A a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
15 $ hg ci -m adda
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
16 $ hg manifest
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
17 a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
18 $ cd ..
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
19
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
20 test case collision on rename (issue750)
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
21
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
22 $ hg init repo2
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
23 $ cd repo2
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
24 $ echo a > a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
25 $ hg --debug ci -Am adda
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
26 adding a
23779
427b8728536f tests: fix test-casefolding.t output
Matt Harbison <matt_harbison@yahoo.com>
parents: 23597
diff changeset
27 committing files:
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
28 a
23779
427b8728536f tests: fix test-casefolding.t output
Matt Harbison <matt_harbison@yahoo.com>
parents: 23597
diff changeset
29 committing manifest
427b8728536f tests: fix test-casefolding.t output
Matt Harbison <matt_harbison@yahoo.com>
parents: 23597
diff changeset
30 committing changelog
23818
45c95e2f99ad tests: fix test-casefolding.t output for branchcache
Matt Harbison <matt_harbison@yahoo.com>
parents: 23779
diff changeset
31 couldn't read revision branch cache names: * (glob)
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
32 committed changeset 0:07f4944404050f47db2e5c5071e0e84e7a27bba9
16288
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
33
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
34 Case-changing renames should work:
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
35
16288
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
36 $ hg mv a A
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
37 $ hg mv A a
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
38 $ hg st
16542
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
39
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
40 test changing case of path components
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
41
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
42 $ mkdir D
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
43 $ echo b > D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
44 $ hg ci -Am addb D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
45 $ hg mv D/b d/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
46 D/b: not overwriting - file exists
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
47 $ hg mv D/b d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
48 $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
49 A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
50 R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
51 $ mv D temp
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
52 $ mv temp d
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
53 $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
54 A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
55 R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
56 $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
57 $ rm d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
58 $ echo c > D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
59 $ hg add D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
60 $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
61 A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
62 $ hg ci -m addc D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
63 $ hg mv d/b d/e
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
64 moving D/b to D/e (glob)
16542
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
65 $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
66 A D/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
67 R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
68 $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
69 $ rm d/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
70 $ hg mv d/b D/B
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
71 moving D/b to D/B (glob)
16542
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
72 $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
73 A D/B
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
74 R D/b
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
75 $ cd ..
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
76
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
77 test case collision between revisions (issue912)
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
78
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
79 $ hg init repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
80 $ cd repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
81 $ echo a > a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
82 $ hg ci -Am adda
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
83 adding a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
84 $ hg rm a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
85 $ hg ci -Am removea
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
86 $ echo A > A
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
87
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
88 on linux hfs keeps the old case stored, force it
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
89
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
90 $ mv a aa
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
91 $ mv aa A
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
92 $ hg ci -Am addA
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
93 adding A
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
94
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
95 used to fail under case insensitive fs
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
96
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
97 $ hg up -C 0
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
98 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
99 $ hg up -C
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
100 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
101
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
102 no clobbering of untracked files with wrong casing
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
103
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
104 $ hg up -r null
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
105 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
106 $ echo gold > a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
107 $ hg up
16284
2b0a406d3043 merge: fix unknown file merge detection for case-folding systems
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
108 A: untracked file differs
15894
44fa047cef57 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15538
diff changeset
109 abort: untracked files in working directory differ from files in requested revision
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
110 [255]
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
111 $ cat a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
112 gold
19160
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
113 $ rm a
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
114
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
115 test that normal file in different case on target context is not
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
116 unlinked by largefiles extension.
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
117
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
118 $ cat >> .hg/hgrc <<EOF
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
119 > [extensions]
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
120 > largefiles=
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
121 > EOF
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
122 $ hg update -q -C 1
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
123 $ hg status -A
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
124 $ echo 'A as largefiles' > A
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
125 $ hg add --large A
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
126 $ hg commit -m '#3'
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
127 created new head
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
128 $ hg manifest -r 3
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
129 .hglf/A
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
130 $ hg manifest -r 0
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
131 a
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
132 $ hg update -q -C 0
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
133 $ hg status -A
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
134 C a
19161
24877c50aada largefiles: check unknown files with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19160
diff changeset
135 $ hg update -q -C 3
24877c50aada largefiles: check unknown files with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19160
diff changeset
136 $ hg update -q 0
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
137
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
138 $ cd ..
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
139
16323
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
140 issue 3342: file in nested directory causes unexpected abort
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
141
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
142 $ hg init issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
143 $ cd issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
144
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
145 $ mkdir -p a/B/c/D
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
146 $ echo e > a/B/c/D/e
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
147 $ hg add a/B/c/D/e
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
148
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
149 $ cd ..
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
150
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
151 issue 3340: mq does not handle case changes correctly
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
152
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
153 in addition to reported case, 'hg qrefresh' is also tested against
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
154 case changes.
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
155
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
156 $ echo "[extensions]" >> $HGRCPATH
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
157 $ echo "mq=" >> $HGRCPATH
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
158
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
159 $ hg init issue3340
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
160 $ cd issue3340
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
161
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
162 $ echo a > mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
163 $ hg add mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
164 $ hg commit -m '#0'
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
165 $ hg rename mIxEdCaSe tmp
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
166 $ hg rename tmp MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
167 $ hg status -A
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
168 A MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
169 mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
170 R mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
171 $ hg qnew changecase
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
172 $ hg status -A
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
173 C MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
174
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
175 $ hg qpop -a
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
176 popping changecase
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
177 patch queue now empty
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
178 $ hg qnew refresh-casechange
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
179 $ hg status -A
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
180 C mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
181 $ hg rename mIxEdCaSe tmp
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
182 $ hg rename tmp MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
183 $ hg status -A
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
184 A MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
185 mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
186 R mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
187 $ hg qrefresh
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
188 $ hg status -A
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
189 C MiXeDcAsE
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
190
17888
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
191 $ hg qpop -a
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
192 popping refresh-casechange
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
193 patch queue now empty
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
194 $ hg qnew refresh-pattern
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
195 $ hg status
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
196 $ echo A > A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
197 $ hg add
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
198 adding A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
199 $ hg qrefresh a # issue 3271, qrefresh with file handled case wrong
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
200 $ hg status # empty status means the qrefresh worked
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
201
23595
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
202 #if osx
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
203
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
204 We assume anyone running the tests on a case-insensitive volume on OS
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
205 X will be using HFS+. If that's not true, this test will fail.
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
206
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
207 $ rm A
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
208 >>> open(u'a\u200c'.encode('utf-8'), 'w').write('unicode is fun')
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
209 $ hg status
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
210 M A
23597
7a5bcd471f2e darwin: omit ignorable codepoints when normcase()ing a file path
Augie Fackler <raf@durin42.com>
parents: 23595
diff changeset
211
23595
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
212 #endif
23597
7a5bcd471f2e darwin: omit ignorable codepoints when normcase()ing a file path
Augie Fackler <raf@durin42.com>
parents: 23595
diff changeset
213
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
214 $ cd ..