GothenburgBitFactory / taskchampion

Personal task-tracking library
MIT License
79 stars 20 forks source link

Sync to git #441

Open djmitche opened 2 months ago

djmitche commented 2 months ago

@lauft pointed out that the sync model would map well to the Git model. We could build a server implementation wrapping Git, using a similar set of files to those in the cloud storage: a latest file, a bunch of version files, and a bunch of snapshot files.

The latest file would be contentious: changing in every commit. However, that's precisely enforcing the replica invariant. Those conflicts can occur both on git pull (when new versions arrive) and on git push (if latest has changed since git pull).

djmitche commented 2 months ago

This is probably a bit much for a "good first issue", but maybe consider it a "good second issue"!