Quite frankly, I can only imagine the horrendous bug nest that would require what amounts to little more than a file syncing application to demand a case-insensitive filesystem. Do they really store the files on NTFS volumes somewhere?
I'm not sure that it's completely bizarre. Dropbox will work on case-sensitive file systems, but it does very strange things if two files exist with the same name, but different case.
I suspect MS just didn't want to deal with this complexity for what was (perceived) to be an issue for a relatively small number of people.
To be clear, I don't necessarily agree with their reasoning, but I do see where it could have come from.
> I suspect MS just didn't want to deal with this complexity
Case-sensitive filesystems are probably much simpler than case-insensitive ones that have to preserve case when a file is saved or renamed but ignore it when the file is opened.
And by making the experience horrible to everyone else, they ensure the majority of their userbase is on Windows.
What's disappointing is that this indicates they never tested it on out-of-the-box Macs as they all come with case-sensitive filesystems by default. It says a lot about Microsoft's QA.
I could reverse that and say how horrible git and svn are on Windows for the same reason (have you ever dealt with a repo that has a file Test.cs and test.cs ?)
It's just an incompatibility you have to live with.
If you think Git or Subversion are broken, you're free to fix them and publish a patch (or a fork). I don't see it a possibility with either NTFS or SkyDrive.
And, BTW, I don't think either Git or Subversion would refuse to function on case-insensitive filesystems as does SkyDrive.
Finally, the suffering Windows programmers can impose on themselves by using version control systems does not invalidate the claim Microsoft obviously doesn't test their software on Macs with default OSX installs.
I didn't suggest they were broken. The semantics are different between UNIX and Windows which is the same point you are making. The issue here is when something decided that proceeding was dangerous and stops it.
The issue here is that compared to SVN/Git, which fail late, SkyDrive fails early and refuses to function which has a number of advantages including no nasty surprises when some awkward individual uploads Test.cs and test.cs after using it for 6 months.
They did test it and decided that it was better to fail up front rather than lead the user down a path to certain destruction.
That's the difference between good code and shit code.
As a footnote, NTFS is case sensitive via the POSIX subsystem but not via DOS VM/Win32 subsystems. HFS+ is both case sensitive and not as well. Interesting eh? No technical superiority either way.
Now, regarding patching or forking Git or Subversion, I don't want to any more. I have sent a few patches to the SVN to fix merging bugs to no avail (they are still there and regularly fuck up our mergeinfo properties). Forking is just a waste of time as we have to fork the entire dependency chain up to the end software which is pretty much up to TeamCity and VisualSVN.
As for NTFS, we had an issue with mounting junctions on volumes greater than 2TiB back in 2004. It took one phone call and 4 days to get a hotfix to us from the NTFS team and it was included in a patch cycle a few weeks later. Same with NHibernate profiler - fix in 2 hours.
Commercial software is not the root of all evil. Shitty management is and that exists both in open source and commercial markets.
Why bother?