Skip to content

Draft: Implements restriction on profile naming based on case sensitivity of underlying file system.

Currently, users are able to rename profiles or create profiles with names in a manner which does not take into account the case sensitivity of the underlying file system. This can lead to the existence of two profiles named "Test" and "TEST". Each profile needs to have a corresponding profile file. The name of a profile needs to correspond to the filename of its associated profile file for proper loading of the profile. In a case sensitive file system, naming two profiles "Test" and "TEST" allows them to be properly created and loaded since it results in the creation of "Test.profile" and "TEST.profile". However, in a case insensitive file system, naming two profiles "Test" and "TEST" would lead to only one profile file being created since "Test.profile" and "TEST.profile" are equivalent filenames to the filesystem. This leads to defects like one of the profiles not being shown the next time the application is started since only one profile file is present.

To resolve this, this change first checks if the underlying file system is case sensitive. If it is, compare the new profile name with the names of existing profiles in a non-case sensitive fashion. If it is not, do so in a case sensitive manner. If the new profile name matches the name of an existing profile in all other aspects except for casing and the file system is case insensitive, display an warning message notifying the user that the conflict is due to case-insensitivity.

Merge request reports