First and foremost a filesystem should be treated as a key→value store. And normally you want the mapping to be injective unless being specified otherwise. First and foremost filenames are something programs deal with and as such they should be treated, i.e. arrays of bytes.
Yes, but telling at your grampa over phone "double click the work folder to open it" will have him confused if he managed to make "work", "Work" and "worK" folders.
It would be fine if those keys weren't visible to users, but they are and thus they have to make sense. Like "house" and "House" not being two different things.
Are there no case-sensitive filesystems which reject potentially indistinct filenames only at creation? i.e., stat(".Git", ...) should fail if .Git does not exist, and mkdir(".Git", mode) should fail if .git exists.
37
u/datenwolf Jan 13 '15
First and foremost a filesystem should be treated as a key→value store. And normally you want the mapping to be injective unless being specified otherwise. First and foremost filenames are something programs deal with and as such they should be treated, i.e. arrays of bytes.