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
macOS filesystems can be case insensitive, editor should also warn like Windows on case mismatch #23441
Comments
It's not Godot ignoring case, it's Windows (which is why our issue template asks you for your OS... please don't make us guess it).
It should already do that normally. |
My bad @akien-mga. I’m on macOS. Which is why it’s so bizarre that this works when running within Godot but crashes the exported app. I got no sort of warning in the Godot debugger about capitalization. It works flawlessly. |
Yeah the warning was only implemented for Windows, as macOS is supposed to be case sensitive. Is your macOS partition configured to be case insensitive? |
@akien-mga So bizarre! Been using macOS for many years and have never noticed that the default configuration for APFS is case-insensitive. What I don't understand is why this would then not work on the exported app. Considering that this is the case, I think the warning should also be implemented on macOS to avoid this sort of confusion. Thanks! |
"APFS [...] is available in case-sensitive and case-insensitive variants on macOS, with case-insensitive being the default." According to Apple's developer website |
Indeed, something similar to this should be implemented in godot/drivers/windows/file_access_windows.cpp Lines 90 to 110 in b902a2f
|
I implemented the warning, but I don't have a mac right now to check if it works properly. I will test on one this afternoon and make a PR if it works as intended. |
When a file is opened with a wrong case, it can work on the developer system but but break on a user system with a casesensitive filesystem. This will display a warning when it happens. CAVEATS : It will also display the warning if a symlink is present somewhere in the path. Fixes godotengine#23441
When a file is opened with a wrong case, it can work on the developer system but but break on a user system with a casesensitive filesystem. This will display a warning when it happens. CAVEATS : It will also display the warning if a symlink is present somewhere in the path. Fixes godotengine#23441
I found an irritating bug that took a long time to track down. I was able to make a minimal reproducible project. The project would work when launching in Godot but crash immediately when launching on the exported Mac app.
Suppose we have a script like this:
and another file
Notice the capitalization mistake? Neither did I. Godot, I guess, will ignore capitalization in directories. The project runs just fine. It throws no errors. But when exporting to Mac, it will not launch. Caused me a lot of frustration.
Suggestions for a fix: make Godot case-sensitive with directories. Or at least throw a warning when capitalization does not match.
Edit: these tests were done on macOS.
The text was updated successfully, but these errors were encountered: