• FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    22 hours ago

    I was looking into this recently and I didn’t know this but NTFS is actually designed by competent people and is fully case sensitive.

    For backwards of course Microsoft had to make the file APIs case insensitive, but the actual filesystem is case sensitive.

    Also, presumably because this is a real turn-off for developers there is actually an option in Windows to sort of make specific directories case sensitive. Wild right?

    https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity

    • The_Decryptor@aussie.zone
      link
      fedilink
      English
      arrow-up
      4
      ·
      16 hours ago

      Yeah, I think Windows actually handles it quite well, the actual filesystem has no notion of what the filenames are outside of basic “It’s UTF-16”, it’s the OS filesystem layer that handles all the quirks.

      Because that’s what people seem to dismiss, there’s no one standard notion of case folding. It depends on the locale you’re using, and that shouldn’t be built into the FS itself. The classic one was the German “long S”, where “SS” should be case folded with “ß”, except they changed it in 2024 so now they shouldn’t match (“ß” becomes “ẞ” now), good luck updating your FS to support rules like that.

      Now your shell? That’s easy, you can just warn the user that a “matching” filename already exists and prompt them to change it, and you can vary those warnings based on the locale, and you can push out updates as easily as any other patch.