Artifact
7b1ce666a7ff7bdd4987d00e64268758ba3d9c37:
Ticket change
[7b1ce666a7]
- New ticket [d22946aa0c]
Adding files with non-English file names is not cross-platform.
by
anonymous
2010-12-12 18:14:26.
D 2010-12-12T18:14:26
J comment Reproducing\sthe\sproblem,\sstep\sby\sstep:\r\n\s\s#\s\sCreate\san\sempty\srepository\son\sLinux.\r\n\s\s#\s\sAdd\sa\sfile\swith\snon-English\sfile\sname,\ssay\s"Текст-01.txt"\s(the\sword\s"text"\sin\sRussian\swith\snumeric\ssuffix),\scommit\sthe\schanges.\r\n\s\s#\s\sClone\srepository\sto\sWindows\smachine.\sIn\sthe\sprocess\sof\sopening\sthe\scloned\srepository\sFossil\swill\screate\sfile\swith\sname\s"Текст-01.txt",\swhich\sis\sdefinitely\sis\snot\sthe\sfile\sname\suser\sexpects.\r\n\s\s#\s\sAgain,\sadd\sa\sfile\swith\snon-English\sfile\sname\s(for\sthe\sabove\sexample\sit\swould\sbe\s"Текст-02.txt",\scommit\sthe\schanges\sand\ssync\swith\sthe\sparent\srepository.\r\n\s\s#\s\sUpdate\sthe\sworking\scopy\son\sLinux.\sIn\sthe\sresult\sthere\swill\sbe\sa\snew\sfile\swith\sfile\sname\s"�����-02.txt",\snot\sthe\soriginal\sWindows\sfile\sname.\sBesides\sthat,\sthe\smanifest\sfile\scontains\sfile\snames\sin\smixed\sencoding\sand\sit\sis\sa\sconsiderable\sproblem\swhen\syou\stry\sto\sparse\sit\swith\sconsole-based\stools.\r\n\r\nFrom\sexamining\sthe\ssources\sI\ssee\sthat\sFossil\sdoesn't\sdifferentiate\sfile\sname\sencoding\son\sdifferent\splatforms\sand\sassumes\sit\sto\sbe\salways\sUTF-8.\sIn\sthe\scontrast,\son\sWindows\sconsole\sapplications\salways\suse\snational\scode\spages\sfor\sfile\snames.\sIn\sthe\scase\sof\sRussian\slocalization\sof\sWindows\sthe\sencoding\sof\sfile\snames\swill\sbe\sWindows-1251.\r\n\r\nIn\ssrc/db.c\sthere\sare\scases\sof\susing\ssqlite3_win32_mbcs_to_utf8()\sfunction\swhen\sreading\sthe\srepository\sdatabase,\sso\sit\sopens\seven\sif\sthe\sfile\sname\sor\spath\scontain\snon-English\scharacters,\sbut\sno\sadditional\sconversions\s(MBCS\sto\sUTF-8,\sUTF8\sto\sMBCS)\sare\smade\sin\sthe\sprocess\sof\sworking\swith\srepository\sfiles.
J foundin [3873aa7ecb]
J private_contact 5081120eaf9d2becc688bc77c336c97ae00b766d
J severity Important
J status Open
J title Adding\sfiles\swith\snon-English\sfile\snames\sis\snot\scross-platform
J type Code_Defect
K d22946aa0c8052c4dc6edd4b296cb2cb3bc80d7d
U anonymous
Z 6ee95ff01fd0fde4b3694e95e3d5fbcd