Skip to content

support non-default platform filename case-sensitivity semantics #441

@chrisd8088

Description

@chrisd8088

As discussed in #432, we currently expect (and check during a scalar clone command) that the Scalar working directory's filename matching semantics have the same case-sensitivity as is the default for the given operating system (i.e., case-insensitive for Windows and macOS, and case-sensitive for Linux).

We specify these defaults in each concrete instance of ScalarPlatform, e.g., with CaseSensitiveFileSystem => false in WindowsPlatform, as well as in parallel locations in the unit tests' MockPlatform and in the functional tests' FileSystemHelpers.

However, it would be potentially beneficial to also support exceptions such as:

This might be done with a custom Git configuration field, perhaps by attempting to auto-detect the case-matching semantics of the working directory when the initial scalar clone command is run. Currently that command checks the case-matching semantics of the working directory using the IsDirectoryCaseSensitive() method, but only to issue an error if they do not align with the expected semantics for the OS. Instead, we might use this method or something similar to auto-detect the case-matching semantics, or we might defer to a user-specified configuration value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    no-activityStale issue or PR that will be automatically closed soon.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions