Ticket UUID: | 33949929b9857e34dd3df6650dfd5884a733e5bd | ||
Title: | Fossil on windows fails on path/files with non US-ASCII characters in them. | ||
Status: | Fixed | Type: | Code_Defect |
Severity: | Severe | Priority: | |
Subsystem: | Resolution: | Fixed | |
Last Modified: | 2008-11-04 13:21:02 | ||
Version Found In: | [3bc6d0b0c9] 2008-07-27 21:02:10 | ||
Description & Comments: | |||
I can't open, add, commit and close repository with fossil on international version of win XP, unless I fiddle with environment variable.
Even with fiddling, I am unable to check in files with non US-ASCII characters in names or open repository on path with non US-ASCII characters.
My international version of windows XP (Czech) uses as a place for storing application's data localized path (what is on US windows on: c:\Documents and Settings\username\Application Data is on my system stored on c:\Documents and Settings\username\Data aplikací (please note \xA1 character at the end)) When fossil starts to do its job, it tries to create some databases in location determined by code on lines 561-569 in db.c. My win xp set APPDATA variable to "c:\Documents and Settings\username\Data aplikací" which is used by fossil, but it never creates _fossil database on c:\Documents and Settings\username\Data aplikací\_fossil but instead tries to create c:\Documents and Settings\username\Data aplikac\_fossil (on path which does not exist on system) In attempt to use fossil somehow I set APPDATA to existing path with only US-ASCII character in it. That way I could (finally!) play with fossil (add/commit/... to repostory, which is good). Unfortunately, when I try to add files with non US-ASCII characters in their names, it fails and I don't see there any workaround. (I believe that having ability to add such files to repository is quite fundamental feature for international users). I theoretize that both issues are related to the fact that sqlite expects UTF encoded path but fossil does not make provisions,that such path passed to sqlite is indeed UTF encoded. To reproduce second issue please create a file with some non US-ASCII character(s) in its name (e.g. \xA1) and try to commit such file into repository (on windows xp). First issue should manifest itself on international version of windows (perhaps XP as I have seen fossil adding and commiting files on win 2000, where APPDATA was set by system to c:\Documents and Settings\username\Application Data) which possibly set LOCALAPPDATA or APPDATA or HOMEPATH or HOME variables to path containing non US-ASCII characters. Would it be possible to fix this? Thanks. drh added on 2008-11-04 13:21:02: |