X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/6efbbf967e662670a8b5bbbbd9a6569699cddf45..65b8fba17c444864135f5f19aeb42d928ca0b120:/doc/bugs/Filenames_with_colons_cause_problems_for_Windows_users.mdwn diff --git a/doc/bugs/Filenames_with_colons_cause_problems_for_Windows_users.mdwn b/doc/bugs/Filenames_with_colons_cause_problems_for_Windows_users.mdwn index b02239171..7559e6d0a 100644 --- a/doc/bugs/Filenames_with_colons_cause_problems_for_Windows_users.mdwn +++ b/doc/bugs/Filenames_with_colons_cause_problems_for_Windows_users.mdwn @@ -17,7 +17,16 @@ Windows does not support filenames containing any of these characters: `/ \ * : >>> the source repo it's working on has a file with a problem character >>> added to it, since the breakage will happen at the revision control >>> system level. ->>> + +>>>> Just a quick note that the version control community generally doesn't +>>>> agree with that view. They'll store what you ask them to store. If you +>>>> want to work cross platform, then you need to make sure that all +>>>> your file names work on all the platforms you're interested in. (Note: many systems will +>>>> warn on commit, but not all. Many systems also have a way to fix +>>>> the problem without checking out, but not all.) Another common place for this to +>>>> arise is case insensitive file systems. If you have two files committed +>>>> that differ only in case, then you cannot check out on a Mac in most systems. + >>> OTOH, there are some simple mods to ikiwiki that can make it escape >>> colons etc the same way it already escapes other problem characters >>> like "*", "?", etc. Without actually testing it, it should suffice to @@ -32,12 +41,35 @@ Windows does not support filenames containing any of these characters: `/ \ * : >>> annoying transition. I could do a OS test and do it in Windows, but then >>> there would be interop problems if a Windows and non-windows system both >>> acted on the same wiki source. ->>> + +>>>> I haven't checked the source, but need this break existing wikis? +>>>> I can imagine a system where a colon gets converted to something safe, +>>>> and the safe encoding gets converted back to a colon. But if you +>>>> already have a colon, that doesn't get converted and stays a colon, and +>>>> so it should still work shouldn't it? The only +>>>> problem would be with pages that already have the 'safe encoding for a colon'. +>>>> They'll suddenly change names. Well, I should finish frying my current fish +>>>> before taking on something new, so I'll shut up now :). -- [[Will]] + +>>>>> If `linkpage()` is changed to escape colons, then links to pages +>>>>> with literal colons in their names will stop working; ikiwiki will +>>>>> instead look for page names with escaped colons. --[[Joey]] + >>> So, I guess it has to be a config option, possibly defaulting on >>> when the OS is Windows. And if being able to checkout/etc the wiki >>> source on windows systems is desired, you'd have to remember to turn >>> that on when setting up a wiki, even if the wiki was hosted on unix. >>> +>>> Ok, `wiki_file_chars` config option added, set to +>>> `"-[:alnum:]+/._"` to exclude colons from filenames read or written by +>>> ikiwiki. [[done]] +>>> >>> BTW, I suspect there are lots of other problems with actually running >>> ikiwiki on windows, including its assumption that the directory ->>> separator is "/". --[[Joey]] +>>> separator is "/". Windows will be supported when someone sends me a +>>> comprehansive and not ugly or performance impacting patch. :-) --[[Joey]] + +> Speaking of Windows filename problems, how do I keep directories ending in a +> period from being created? The following didn't seem to work. +> `wiki_file_chars => "-[:alnum:]+/._",` +> `wiki_file_regex => '[-[:alnum:]+_]$',`