User forums > General (but related to Code::Blocks)

Suggestion: Support mixed case files on case insensitive file systems

(1/2) > >>

dfatcb:
Hi,

I have an issue where VS2017 renames files to the case that the solutions explorer has.  So originally having mixed case, prior to porting to Linux and moving all files to lower case, there are hundreds of projects in that state.   In code::blocks I share the drive via a mount point to the NTFS partition.   The files loaded in code::blocks are lower cases (in some cases mixed case), but once VS2017 renames a file it throws off code::blocks building.  Sometimes the symptom is that it keeps rebuilding a project that is already up to date, however, the bigger problem is that in some other cases it doesn't detect the changes and doesn't build the updated files throwing everything out of sync.   Can you support mixed case files on file systems like NTFS.

Also an easy want to update on things like Debian Jessie.

Also I'm talking about using code::blocks on linux, not windows version.

TIA!!

BlueHazzard:
What?
You are using codeblocks on linux to compile a VS2017 project stored on a shared network NTFS drive?
Now you rename your file on windows to mixed case and it won't compile in codeblocks? Do you update the project file?
Do you know that NTFS on windows is sort of case insensitive but linux is case sensitive? So on windows the files are the same but on linux not?

--- Quote --- throws off code::blocks building
--- End quote ---
what does this mean?


--- Quote ---Can you support mixed case files on file systems like NTFS
--- End quote ---
probably not because it is a driver thing and not a codeblocks thing...


--- Quote ---Also an easy want to update on things like Debian Jessie.
--- End quote ---
update what? Codeblocks? Complain at the maintainer there... Or build it by yourself, it is really easy...

dfatcb:
The source code is shared.

IIRC, You can query (ioctl) the mount point and it will return if the file system is case sensitive or not (or at least the type and know).


an example of the "throws off" is in the next sentence.

By mixed case I mean "file1" is the same as "File1" so if the project has "file1" it should be able to handle "File1".

stahta01:
I suggest you learn how to fix it on your end. You might ask an CB Developer if the CB Scripting could be used to fix this issue.

Tim S.

BlueHazzard:
I still do not understand what you are doing...


--- Quote ---an example of the "throws off" is in the next sentence.

By mixed case I mean "file1" is the same as "File1" so if the project has "file1" it should be able to handle "File1".
--- End quote ---
This still does not tell me how the error manifests in codeblocks... Can you not open the file? Do you get compiler errors? Does codeblocks crash? Be more descriptive in your answers please...

The thing with case sensitive and case insensitive is: Codeblocks does not alter the path (for example we do not call path.toUpperCase() to convert them to all upper case). We simply call wxWidgets functions with the full path we get from the user or other wxWidgets functions. And wxWidgets probably uses the file system functions provided by the operating system. So if the NTFS driver for linux does not support mixed case we can not support it.
for example https://serverfault.com/questions/901855/ntfs-3g-ignore-case


Have you tried to copy the project to a unix file system? Does the same thing happen? Have you tried other programs? do they work with mixed case? Can you provide more examples, witht full paths and describing the whole situation in more detail?

Navigation

[0] Message Index

[#] Next page

Go to full version