[BUG] Renaming script to itself but with different capitalisation fails

8.0.0 (b2019040718)

As described, renaming a script to the same name but with different letter capitalisation fails with the error:
Name 'newName' already in use. E.g. if renaming a script called ‘NewName’

EDIT: additionally, these name changes aren’t detected in an inherited project.
E.g. I changed the name in the ‘global’ parent project from ‘NewName’ to ‘NewName2’ then to ‘newName’, and it hasn’t come through in my child project after using the ‘merge changes’ button. It doesn’t come through when re-opening the project from File -> Open either.
Restarting the Designer doesn’t update it either.

I had to change the name to something else (‘newName2’), update the child project, then change the name to what I wanted it to be (‘newName’) and update again for it to come through.

I would expect this to fail on a windows gateway due to the new filesystem-based resource storage. Should work fine on Linux or Mac. Windows’ lack of case-sensitivity causes similar problems with pretty much all modern source code control systems. Lesson: Don’t use Windows, at least not for servers or for development.

2 Likes

Maybe I should instead post this on the Microsoft bug forum :smile:

I thought we had changed the designer’s view of project resources to be case sensitive (ie allow capitalization changes) in 8.0.1, but I can’t find the ticket.

Like Phil said, the way that different OSes handle case-sensitivity in file names has caused us no end of grief since moving the project resources to disk. We’ve gone back and forth on whether project resources should be case-sensitive or case-insensitive – either way we do it in the software, someone will have a problem on disk.

There’s a fix for this that should be in today’s nightly build/8.0.2. As Phil and Kathy pointed out, Windows is the “lowest common denominator” of our supported platforms, so all platforms are (in the designer) restricted to try to prevent case-insensitive name collisions. A side benefit to this is fixing the original issue in this thread - renaming a resource to itself with a different case.

[Emphasis mine] Perfect. (-:

3 Likes