On Tue, Feb 19, 2019 at 10:36:18AM -0300, Esteban Maringolo wrote: > No problem, I was going to ask about Fossil as well, I know it is a > self contained SCM, with issue tracker, and whatnot. People that uses > it don't want to use git except if forced to. > So I also ask how this would work. :)
Fossil's built-in sync mechanism is described at https://fossil-scm.org/index.html/doc/trunk/www/sync.wiki. Fossil's traffic works through tunneling - this is how I 'fossil push' new blog posts from my laptop to my server through an SSH tunnel. I had also tested Fossil behind Internet-reachable Caddy HTTPS reverse proxy, which works too. For your use case, I might approach it like this: Write data locally and commit to Fossil as blobs. To sync, run Fossil under OSSubprocess to sync with the central server, either directly (if Fossil on central server is directly reachable) or thru a tunnel created by your application if your application runs on both ends. > I saw SQLite-sync before, but it is a commercial product, and its > platform support/setup seems convoluted. > > dqlite might be a viable alternative, from more than reliable > provider, it's is not clear whether I have to use a different library > to access SQLite (it seems so) or a special wire protocol/api calls. I was actually thinking of https://github.com/rqlite/rqlite/ but did not remember the name when I replied originally. But it seems that, however you choose to sync, your application still needs to handle any data conflict that arises. Pierce