tests/test-casefolding.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Tue, 07 May 2013 05:04:11 +0900
branchstable
changeset 19161 24877c50aada
parent 19160 0848be1f1aad
child 22046 7a9cbb315d84
permissions -rw-r--r--
largefiles: check unknown files with case awareness of the filesystem Before this patch, largefiles extension checks unknown files in the working directory always case sensitively. This causes failure in updating from the revision X consisting of '.hglf/A' (and "A" implicitly) to the revision Y consisting of 'a' (not ".hglf/A") on case insensitive filesystem, because "A" in the working directory is treated as colliding against and different from 'a' on the revision Y. This patch uses "repo.dirstate.normalize()" to check unknown files with case awareness of the filesystem.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
     1
  $ "$TESTDIR/hghave" icasefs || exit 80
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
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    27
  a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    28
  committed changeset 0:07f4944404050f47db2e5c5071e0e84e7a27bba9
16288
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
    29
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
    30
Case-changing renames should work:
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    31
16288
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
    32
  $ hg mv a A
09f2bb3a37b5 tests: remove case-folding false positive
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
    33
  $ hg mv A a
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    34
  $ hg st
16542
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    35
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    36
test changing case of path components
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    37
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    38
  $ mkdir D
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    39
  $ echo b > D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    40
  $ hg ci -Am addb D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    41
  $ hg mv D/b d/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    42
  D/b: not overwriting - file exists
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    43
  $ hg mv D/b d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    44
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    45
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    46
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    47
  $ mv D temp
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    48
  $ mv temp d
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    49
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    50
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    51
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    52
  $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    53
  $ rm d/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    54
  $ echo c > D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    55
  $ hg add D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    56
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    57
  A D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    58
  $ hg ci -m addc D/c
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    59
  $ hg mv d/b d/e
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
    60
  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
    61
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    62
  A D/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    63
  R D/b
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    64
  $ hg revert -aq
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    65
  $ rm d/e
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    66
  $ hg mv d/b D/B
16605
54fc9796d75b tests: accept \ in test-casefolding on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16542
diff changeset
    67
  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
    68
  $ hg st
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    69
  A D/B
e596a631210e dirstate: preserve path components case on renames (issue3402)
Patrick Mezard <patrick@mezard.eu>
parents: 16326
diff changeset
    70
  R D/b
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    71
  $ cd ..
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    72
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    73
test case collision between revisions (issue912)
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    74
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    75
  $ hg init repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    76
  $ cd repo3
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    77
  $ echo a > a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    78
  $ hg ci -Am adda
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    79
  adding a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    80
  $ hg rm a
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    81
  $ hg ci -Am removea
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    82
  $ echo A > A
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    83
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    84
on linux hfs keeps the old case stored, force it
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
  $ mv a aa
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    87
  $ mv aa A
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    88
  $ hg ci -Am addA
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    89
  adding A
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    90
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    91
used to fail under case insensitive fs
6806
2134d6c09432 Add test for case folding issues
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    92
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    93
  $ hg up -C 0
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    94
  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
    95
  $ hg up -C
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
    96
  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
    97
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
    98
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
    99
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   100
  $ hg up -r null
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   101
  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
   102
  $ echo gold > a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   103
  $ hg up
16284
2b0a406d3043 merge: fix unknown file merge detection for case-folding systems
Matt Mackall <mpm@selenic.com>
parents: 15894
diff changeset
   104
  A: untracked file differs
15894
44fa047cef57 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15538
diff changeset
   105
  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
   106
  [255]
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   107
  $ cat a
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   108
  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
   109
  $ 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
   110
0848be1f1aad largefiles: check existence of the file with case awareness of the filesystem
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17888
diff changeset
   111
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
   112
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
   113
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
  $ 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
   115
  > [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
   116
  > 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
   117
  > 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
   118
  $ 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
   119
  $ 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
   120
  $ 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
   121
  $ 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
   122
  $ 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
   123
  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
   124
  $ 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
   125
  .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
   126
  $ 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
   127
  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
   128
  $ 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
   129
  $ 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
   130
  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
   131
  $ 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
   132
  $ hg update -q 0
15538
b0a88bda3381 update: don't clobber untracked files with wrong casing
Mads Kiilerich <mads@kiilerich.com>
parents: 12603
diff changeset
   133
12603
f1646efc54a6 tests: unify test-casefolding
Brodie Rao <brodie@bitheap.org>
parents: 9396
diff changeset
   134
  $ 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
   135
16323
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   136
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
   137
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   138
  $ hg init issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   139
  $ cd issue3342
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   140
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   141
  $ 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
   142
  $ 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
   143
  $ 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
   144
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   145
  $ cd ..
0789d1bbf6c1 dirstate: fix some problems for recursive case normalization (issue3342)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16313
diff changeset
   146
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   147
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
   148
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   149
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
   150
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
   151
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   152
  $ 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
   153
  $ 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
   154
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   155
  $ 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
   156
  $ 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
   157
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   158
  $ 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
   159
  $ 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
   160
  $ 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
   161
  $ 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
   162
  $ 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
   163
  $ 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
   164
  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
   165
    mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   166
  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
   167
  $ 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
   168
  $ 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
   169
  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
   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
  $ 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
   172
  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
   173
  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
   174
  $ 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
   175
  $ 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
   176
  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
   177
  $ 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
   178
  $ 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
   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
  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
   181
    mIxEdCaSe
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   182
  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
   183
  $ 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
   184
  $ 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
   185
  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
   186
17888
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   187
  $ hg qpop -a
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   188
  popping refresh-casechange
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   189
  patch queue now empty
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   190
  $ hg qnew refresh-pattern
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   191
  $ hg status
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   192
  $ echo A > A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   193
  $ hg add
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   194
  adding A
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   195
  $ 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
   196
  $ hg status # empty status means the qrefresh worked
39b7052b217b mq: fix qrefresh case sensitivity (issue3271)
Durham Goode <durham@fb.com>
parents: 16605
diff changeset
   197
16313
e785456f9631 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16288
diff changeset
   198
  $ cd ..