On Oct 5, 2016, at 8:59 AM, Richard Hipp <d...@sqlite.org> wrote: > > On 10/5/16, Warren Young <w...@etr-usa.com> wrote: >> >> If your repository has such file names in it, working around the >> Windows limitation in Fossil just boots the problem a few squares down the >> sidewalk, where it will be stumbled upon shortly by some other tool. > > For this reason, the current fix is simply to output a more helpful > error message that tries to explain the situation. > > Probably we also need to also fix Fossil so that it doesn't give up > and die when it encounters an error like this but instead at least > tried to check out all the other files. Perhaps there should also be > warnings when one does "fossil add" or "fossil mv" to create a > disallowed filename on unix - a warning to say that this will work > fine on unix but will fail when you move the change to windows.
I’m okay with warnings, but that’s as far as it should go. I don’t want to see Fossil adopting least-common-denominator policies that prevent those of us who have repos that never touch Windows from being limited by Windows. (I currently use a program on Mac OS X that enforces such restrictions, and it’s seriously annoying.) Windows actually has a whole pile of limitations on file names, all of which you could warn about in Fossil under the same argument: - You can’t have a dot at the end of a file name. [1] - There are a whole raft of illegal characters: < > : " / \ | ? and * plus ASCII 0 thru 31 [2] - NTFS and FAT are case-insensitive in everyday use. Therefore, Fossil arguably should warn on any operation that would create a collision on case-insensitive file systems. [3] —————— Asides: 1. This is an ancient limitation inherited from DOS and FAT, where a dot at the end meant you wanted a file with no extension, which wasn’t legal until Windows NT came around. CMD.EXE and Explorer seem to just eat the dot when you try to create such a file. Cygwin can create an “a.” file, but then Notepad barfs if you try to open it, thinking you meant “a.txt” and Explorer fails to delete it, claiming it couldn’t find the file. Such are the problems of attempting to support files with a dot at the end on Windows. 2. Contrast almost every Unix system, where the only illegal character in a file name is the forward slash. Mac OS X is the only common exception, also disallowing colon because it was the path separator in Classic Mac OS, which carries over into OS X today via HFS+, and historically via Rosetta. I expect that limitation is going away with APFS, but that’s just speculation. 3. Also applies to HFS+ on Mac OS X. _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users