D or d come on

Gollum@feddit.de to Programmer Humor@programming.dev – 1379 points –
225

You are viewing a single comment

You've come from Windows and have brought dangerous expectations.

MacOS has a case insensitive file system. It causes me untold grief

Is a 40 year old it guy who love linux, wat

Macos is case insensitive?!

OSX offers both case sensitive and case insensitive filesystems

Defaults to insensitive and if you want to change it you have to reformat 🥲

I've been using case insensitive fs on macOS for years and the only software having issues with this is onedrive.

can't say i'm surprised.

I have issues with Docker a lot. Example: Rename a file from "File.js" to "file.js" in a dependency and it's like something caches the old name so even when I redownload or install that dep it tries the old name and fails to find the file. Might just be me and my tomfoolery

if you're renaming from File.js to file.ts, which is also changing suffixes instead of just capitalization, then that couldn't be explained by case sensitivity, unless it was a typo and you meant File.js to file.js

This is likely because docker runs Linux in a VM on MacOS right?

We've had similar problems with stuff that works on the developers Mac but not the server which is case sensitive. It can be quite insidious if it does not cause an immediate "file not found"-error but say falls back to a default config because the provided one has the wrong casing.

The same issue happens with git (on windows). The file system says they're the same file and they haven't changed, so you have to manually tell the program the file changed. With git, you'd run git rm --cached && git add . On docker, you could just do a non-cached build via docker build . --no-cache

Yeah exactly. And I mount the volume to the local directory so they try to sync both ways. It's a real mess. The solution is currently to: not fuck up the file name casing in the first place. lol

That isn't true.

Which part? I'd love to switch if there's no reformatting, and if your exception is with the first part, I'd ask for some evidence. All of my mac machines arrived brand new, case insensitive. Granted that's only 3 so far, but it's a smattering from 2019 onward. All the literature online points to this being the default too

Wow, I figured it'd be case sensitive, crazy, gotta make it more windows like I guess.

Why would case sensitive path names be considered dangerous?

I don't know about dangerous, but case-insensitive Unicode comparison is annoying, expensive and probably prone to footguns compared to a simple byte-for-byte equality check.

Obviously, it can be done, but I guess Linux devs don't consider it worthwhile.

(And yes, all modern filesystems support Unicode. Linux stores them as arbitrary bytes, Apple's HFS uses... some special bullshit, and Windows uses UTF-16.)

so if linux stores file names as arbitrary bytes them could I modify a ext4 fs to include a / in a file name

If you did it would likely break something as it's one of only two characters not allowed in a file name (the other being null).

You can do a lot of funky stuff within the rules though, think about control characters, non-printing characters, newlines, homographs, emojis etc. and go forth and make your file system chaos!

1 more...
1 more...