What I did, in a nutshell, was to remove the Dropbox client from all of my machines, link my Synology NAS to my Dropbox account (and to my OneDrive account, too, but for snapshotting) and then using the SyncThing client to sync all my git working trees while keeping Office docs and archives in OneDrive.
I split things this way because I've worked across various machines and OSes since 2010 and wanted a way to have a consistent filesystem layout in all of them. I split things across two services because:
- Both OneDrive and Dropbox have trouble with very high cardinality folders (like my 2.1GB git repos) that have hundreds of thousands (if not actual millions) of tiny files that change frequently (and that I may not want to have outside my LAN anyway).
- OneDrive integrates with Office apps and is a pretty decent way to have off-site storage and shared online editing of a few hundred thousand "beefier" files (in my case, mostly personal and legal docs), as well as having a very generous 1TB free tier for each family member.
Neither replaces backups, but (more to the point), neither is perfect. In SyncThing's case, I have a container running on my NAS as an introducer/master replica, and three different machines accessing it (Windows, Mac and Linux), and I keep having sync issues and conflicts in my git repos even though all versions are in lockstep.
Ironically, I _never_ had a git repo corrupted while using Dropbox since... 2015? (I did when trying OneDrive, but that was mostly because I was using an OpenSource Linux client and it had sync issues). And yet, SyncThing keeps doing it every couple of months, to the extent where I need to reset some repos every now and then.
SyncThing is pretty great in that I can switch off external discovery and be absolutely sure my stuff never leaves my LAN _and_ have things sync very quickly, but it's definitely not fully baked yet, and I wouldn't recommend using it without a good backup strategy (all my personal projects live in a gitea instance and that is backed up off-site as well).
Also, there are hardly any good mobile clients (I have an iOS one, but it has trouble syncing large folders while running in the background and its Files integration is flaky). I could use just about any mobile editing app with Dropbox, and I have much more limited choices right now (OneDrive "works", but the Files provider also has issues).
> I keep having sync issues and conflicts in my git repos even though all versions are in lockstep.
Syncing git repos using a tool other than git seems like you're asking for trouble. Git is already meant to be used for distributing a repo to multiple computers. It's responsible for the "syncing".
Let's say you have to computers. Both go offline. Then you make a guy commit on each computer. Then they go back online. What do you expect to happen? Even if there are no conflicts in the commits, your .git directory is going to be messed up.
I switched from Dropbox to a mix of OneDrive and SyncThing in 2020 due to the bloat in their client app:
switch: https://taoofmac.com/space/blog/2020/06/21/1600
later: https://taoofmac.com/space/blog/2020/08/08/1900
What I did, in a nutshell, was to remove the Dropbox client from all of my machines, link my Synology NAS to my Dropbox account (and to my OneDrive account, too, but for snapshotting) and then using the SyncThing client to sync all my git working trees while keeping Office docs and archives in OneDrive.
I split things this way because I've worked across various machines and OSes since 2010 and wanted a way to have a consistent filesystem layout in all of them. I split things across two services because:
- Both OneDrive and Dropbox have trouble with very high cardinality folders (like my 2.1GB git repos) that have hundreds of thousands (if not actual millions) of tiny files that change frequently (and that I may not want to have outside my LAN anyway).
- OneDrive integrates with Office apps and is a pretty decent way to have off-site storage and shared online editing of a few hundred thousand "beefier" files (in my case, mostly personal and legal docs), as well as having a very generous 1TB free tier for each family member.
Neither replaces backups, but (more to the point), neither is perfect. In SyncThing's case, I have a container running on my NAS as an introducer/master replica, and three different machines accessing it (Windows, Mac and Linux), and I keep having sync issues and conflicts in my git repos even though all versions are in lockstep.
Ironically, I _never_ had a git repo corrupted while using Dropbox since... 2015? (I did when trying OneDrive, but that was mostly because I was using an OpenSource Linux client and it had sync issues). And yet, SyncThing keeps doing it every couple of months, to the extent where I need to reset some repos every now and then.
SyncThing is pretty great in that I can switch off external discovery and be absolutely sure my stuff never leaves my LAN _and_ have things sync very quickly, but it's definitely not fully baked yet, and I wouldn't recommend using it without a good backup strategy (all my personal projects live in a gitea instance and that is backed up off-site as well).
Also, there are hardly any good mobile clients (I have an iOS one, but it has trouble syncing large folders while running in the background and its Files integration is flaky). I could use just about any mobile editing app with Dropbox, and I have much more limited choices right now (OneDrive "works", but the Files provider also has issues).