> How about case-insensitive filesystems? [...] Negligible.
I don't buy this. Finding collisions is pretty easy. In one repository I have these files:
rank2.cpp
rank4.cpp
rankN.cpp
The last two have the same case-insensitive Base84 encoding: mz{QkARW;1cB
mz{QkaRW;1cB