summaryrefslogtreecommitdiff
path: root/tests/test-casecollision-i18n.t
blob: 6be2dccacadc38f81aa30c70b82137020033895e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
run only on case-insensitive filesystems, because collision check at
"hg update" is done only on case-insensitive filesystems

  $ "$TESTDIR/hghave" icasefs || exit 80

setup repository, and target files

  $ HGENCODING=cp932
  $ export HGENCODING
  $ hg init t
  $ cd t
  $ python << EOF
  > names = ["\x83\x41", # cp932(0x83, 0x41='A'), UNICODE(0x30a2)
  >          "\x83\x5A", # cp932(0x83, 0x5A='Z'), UNICODE(0x30bb)
  >          "\x83\x61", # cp932(0x83, 0x61='a'), UNICODE(0x30c2)
  >          "\x83\x7A", # cp932(0x83, 0x7A='z'), UNICODE(0x30db)
  >         ]
  > for num, name in zip(range(len(names)), names):
  >     # file for getting target filename of "hg add"
  >     f = file(str(num), 'w'); f.write(name); f.close()
  >     # target file of "hg add"
  >     f = file(name, 'w'); f.write(name); f.close()
  > EOF

test filename collison check at "hg add"

  $ hg add --config ui.portablefilenames=abort `cat 0`
  $ hg add --config ui.portablefilenames=abort `cat 1`
  $ hg add --config ui.portablefilenames=abort `cat 2`
  $ hg add --config ui.portablefilenames=abort `cat 3`
  $ hg status -a
  A \x83A (esc)
  A \x83Z (esc)
  A \x83a (esc)
  A \x83z (esc)

test filename collision check at "hg update"

  $ hg commit -m 'revision 0'
  $ hg update null
  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
  $ hg update tip
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved