tests/test-casefolding.t
author Martin von Zweigbergk <martinvonz@google.com>
Sat, 04 Apr 2015 21:54:12 -0700
branchstable
changeset 24621 1784ca148392
parent 23818 45c95e2f99ad
child 24728 75688a6f0bca
permissions -rw-r--r--
dirstate.walk: don't report same file stat multiple times dirstate.walk() generates pairs of filename and a stat-like object. After "hg mv foo Foo", it generates one pair for "foo" and one for "Foo", as it should. However, on case-insensitive file systems, when it tries to stat to get the disk state as well, it gets the same stat result for both names. This confuses at least scmutil._interestingfiles(), making it think that "foo" was forgotten rather than removed. That, in turn, makes "hg addremove" add "foo" back, resulting in both cases in the dirstate, as reported in issue4590. This change only takes care of the "if unknown" branch. A similar fix should perhaps be applied to the other branch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
24621
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    40
addremove after case-changing rename has no effect (issue4590)
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    41
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    42
  $ hg mv a A
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    43
  $ hg addremove
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    44
  recording removal of a as rename to A (100% similar)
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    45
  $ hg revert --all
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    46
  forgetting A
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    47
  undeleting a
1784ca148392 dirstate.walk: don't report same file stat multiple times
Martin von Zweigbergk <martinvonz@google.com>
parents: 23818
diff changeset
    48
16542
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    49
test changing case of path components
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    50
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    51
  $ mkdir D
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    52
  $ echo b > D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    53
  $ hg ci -Am addb D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    54
  $ hg mv D/b d/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    55
  D/b: not overwriting - file exists
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    56
  $ hg mv D/b d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    57
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    58
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    59
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    60
  $ mv D temp
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    61
  $ mv temp d
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    62
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    63
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    64
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    65
  $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    66
  $ rm d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    67
  $ echo c > D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    68
  $ hg add D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    69
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    70
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    71
  $ hg ci -m addc D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    72
  $ hg mv d/b d/e
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
    73
  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
    74
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    75
  A D/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    76
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    77
  $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    78
  $ rm d/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    79
  $ hg mv d/b D/B
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
    80
  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
    81
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    82
  A D/B
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    83
  R D/b
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    84
  $ cd ..
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    85
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    86
test case collision between revisions (issue912)
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    87
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    88
  $ hg init repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    89
  $ cd repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    90
  $ echo a > a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    91
  $ hg ci -Am adda
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    92
  adding a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    93
  $ hg rm a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    94
  $ hg ci -Am removea
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    95
  $ echo A > A
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
on linux hfs keeps the old case stored, force it
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    98
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    99
  $ mv a aa
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   100
  $ mv aa A
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   101
  $ hg ci -Am addA
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   102
  adding A
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   103
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   104
used to fail under case insensitive fs
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   105
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   106
  $ hg up -C 0
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   107
  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
   108
  $ hg up -C
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   109
  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
   110
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   111
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
   112
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   113
  $ hg up -r null
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   114
  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
   115
  $ echo gold > a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   116
  $ hg up
16284
2b0a406d3043 merge: fix unknown file merge detection for case-folding systems
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
   117
  A: untracked file differs
15894
44fa047cef57 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15538
diff changeset
   118
  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
   119
  [255]
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   120
  $ cat a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   121
  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
   122
  $ 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
   123
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
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
   125
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
   126
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
  $ 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
   128
  > [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
   129
  > 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
   130
  > 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
   131
  $ 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
   132
  $ 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
   133
  $ 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
   134
  $ 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
   135
  $ 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
   136
  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
   137
  $ 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
   138
  .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
   139
  $ 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
   140
  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
   141
  $ 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
   142
  $ 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
   143
  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
   144
  $ 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
   145
  $ hg update -q 0
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   146
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   147
  $ 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
   148
16323
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   149
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
   150
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   151
  $ hg init issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   152
  $ cd issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   153
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   154
  $ 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
   155
  $ 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
   156
  $ 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
   157
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   158
  $ cd ..
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   159
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   160
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
   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
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
   163
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
   164
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   165
  $ 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
   166
  $ 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
   167
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   168
  $ 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
   169
  $ 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
   170
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   171
  $ 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
   172
  $ 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
   173
  $ 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
   174
  $ 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
   175
  $ 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
   176
  $ 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
   177
  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
   178
    mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   179
  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
   180
  $ 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
   181
  $ 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
   182
  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
   183
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   184
  $ 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
   185
  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
   186
  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
   187
  $ 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
   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
  $ 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
   191
  $ 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
   192
  $ 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
   193
  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
   194
    mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   195
  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
   196
  $ 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
   197
  $ 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
   198
  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
   199
17888
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   200
  $ hg qpop -a
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   201
  popping refresh-casechange
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   202
  patch queue now empty
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   203
  $ hg qnew refresh-pattern
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   204
  $ hg status
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   205
  $ echo A > A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   206
  $ hg add
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   207
  adding A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   208
  $ 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
   209
  $ hg status # empty status means the qrefresh worked
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   210
23595
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   211
#if osx
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   212
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   213
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
   214
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
   215
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   216
  $ rm A
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   217
  >>> 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
   218
  $ hg status
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   219
  M A
23597
7a5bcd471f2e darwin: omit ignorable codepoints when normcase()ing a file path
Augie Fackler <raf@durin42.com>
parents: 23595
diff changeset
   220
23595
035434b407be test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
   221
#endif
23597
7a5bcd471f2e darwin: omit ignorable codepoints when normcase()ing a file path
Augie Fackler <raf@durin42.com>
parents: 23595
diff changeset
   222
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   223
  $ cd ..