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