tests/test-casecollision-i18n.t
author Martin Geisler <mg@aragost.com>
Mon, 17 Oct 2011 18:01:38 +0200
branchstable
changeset 15287 b3e19c355ca7
parent 14980 28e98a8b173d
permissions -rw-r--r--
subrepo: abort in hgsubrepo._get if the destination is obstructed Before, we deleted foo when we determined that there were zero changesets in the foo subrepo. Any files in foo was deleted too. We now delete foo/.hg instead, and the normal checks in hg.clone will then abort if there are untracked files in foo.

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