Case Sensitive Across Linux, MacOS, and Windows

Mixing case-sensitive endpoints with case-insensitive endpoints is a Very Bad Thing with Syncthing. I get it.

With APFS and Win10, it is possible to make MacOS and Windows case sensitive. For Windows, it happens at the folder level. With MacOS, it happens at the volume level, but you can create a new volume within an existing container. Theoretically, it should be possible to sync all 3 of them, case-sensitive.

My question is this: Is there anyone who is actually using Syncthing with a setup including case-sensitive Linux, case-sensitive MacOS (with APFS), and case-sensitive Win10? Does it work, and does it avoid the data-loss-with-renaming-changing-only-case scenario?

So far, with a lot of files but limited number of days, it seems to actually work. It is a little inconvenient on the Mac because case-sensitive means putting my synchronized files on a separate file system. (No way am I going to try making my boot volume case-sensitive!) The Windows side seems to work seamlessly.

I deliberately changed the case on a top-level folder on the Windows box during a large sync. For a few hours, one of the nodes showed both cases, but once the sync completed, it worked everything out.

Just a few days in, but case-sensitive Mac + Win + Linux appears to work in real life, not just in theory.

3 Likes