I have searched high and low and cannot find anything suitable for my use case:

I’m looking for a solution that offers me to use the same files on both my mobile, laptop, desktop, home server and remote server, with the following properties:

  • can be used like a normal Linux file system (FUSE is acceptable too)
  • supports local caching
  • works even if offline (like on my phone) for weeks
  • can handle conflicts without ever losing data due to it (like one file having been edited on multiple systems)
  • and most importantly: supports interactively asking me which version to pick, or to manually merge them using an external tool (like vimdiff, kdiff3, meld, Beyond Compare, …) -->> This can be done with an additional GUI or CLI shell client tool.

It should NEVER be “smart” (aka condescending and belittling) or “automagic”, and never assume it is smarter or knows better than the user. (Something I’m sure annoys everyone who reads this on a daily basis, e.g. when trying to use their smartphones.) If possible, it should also not use any web or “cloud“ anything, or any other toxic “luddite techie“ things. Instead, adherence to UNIX, POSIX, Plan9, GNU philosophies is the ideal.

Things that I’ve tried, and fail on one of the above requirements:

  • Syncing with rsync, unison, kdiff3, etc
  • Coda, SMB, sshfs and similar solutions that assume online operation to be the normal state
  • Syncthing and similar overengineered “smart” abominations (I’ve lost data due to “smartness”. Thanks Syncthing!)
  • “clouds” … obviously
  • Lustre and similar huge enterprise solutions not suited for personal use.

Coda with a GUI conflict resolver is the closest I ever got, but such a GUI does not exist AFAIK.

  • Depending on the file types used, this is (close to) impossible. Picking one example matching your requirements: a binary file edited on multiple machines which were disconnected from the network for day or weeks. How is a file system supposed to deal with such conflicts? Next, "clouds" fail "obviously"? Why? The example apart, a self-hosted Nextcloud could be used via WebDAV (with caching) and thus might be an option. Afraid there's no solution matching 100% – though I happily learn otherwise.
    – Izzy
    Commented Dec 28, 2021 at 15:20
  • @Izzy: diff works, independent of file types. In case a user does not want to merge files of types that lack an editor with a diff function, of course he will simply choose which of the files to pick. Since e.g. he knows which binary he compiled with the right params, even if at an earlier timestamp than the other.
    – anon
    Commented Dec 28, 2021 at 19:13
  • @izzy: “cloud” is a deliberately vague marketing term that is not used among computer experts because it actually means nothing and everything. Your reaction proves this perfectly: What you describe is just a server. Obviously a server would be fine if I hadn’t (admittedly only implicitly) asked for a decentralized solution. Though if something is called “cloud”, it doesn’t exactly scream trustworthy competence in computer topics, and will, from experience, be highly likely to contain cumbersome and limiting anti-features and layers of inner platforms.
    – anon
    Commented Dec 28, 2021 at 19:23
  • @Izzy: Case it point for why I barred “web” things, in this case of Nextcloud: Inner platform anti-features… Like funneling everything through “web” layers for no reason, when there is a perfectly fine VFS layer available that offers the much more flexible “everything is a file” interface.
    – anon
    Commented Dec 28, 2021 at 19:26
  • Just as a note: I'd say I'm one of those "computer experts" (at least that's my profession). And yes, I'm aware of the differences (and agree concerning the "web layer"). Though Nextcloud is more than just "a server": I have multiple of them connected across several locations, for example. But yes, I was rather "playing words" with the "cloud" term here, not being a friend of "the cloud" either (I rather call it "other people's computers" ;) // That said: good luck for your hunt!
    – Izzy
    Commented Dec 30, 2021 at 11:46


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.