-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
subsumes fails in case insensitive file systems #194
Comments
I have found that
|
Does this patch fix |
That fixes the issue for most cases including the one affecting me, but note that case-sensitiveness is not a property of the operating system but of the file system. So, there is a very edge case where For instance, a case sensitive file system for Windows I use almost daily is the VirtualBox shared folders one which I use to mount file systems from my main host Linux machine into guest Windows virtual machines. Anyway, I am not saying you should fix that, just want to make you aware that case exists! |
It's a hard to problem to address efficiently in general. E.g. given a directory you don't have write access to, how do you tell if it's on a case-sensitive filesystem or not? Maybe some general documentation about it would be a good idea. |
There is a different approach for that: you can use IMO, a good compromise would be to leave Other alternative that occurs to me, is to add |
There's something appealing in that solution -- but since relative handles case insensitivity (albeit crudely), I sort of feel like subsumes ought to do the same. Another approach -- possibly for both subsumes and relative -- might be to default to case insensitivity on Win32, but provide a |
On Windows, where file systems are usually case insensitive,
Tiny::Path::subsumes
doesn't take that fact into account.A workaround could be to use
realpath
, but it doesn't adjust the case accordingly with the file system. For instance:It this behavior is not fixed, at least if should be documented.
The text was updated successfully, but these errors were encountered: