|
|
|
|
|
by zie
1904 days ago
|
|
You aren't technically wrong, I guess, but Fossil would disagree that SQLite is somehow wrong for this use-case. Fossil does seems to have issues when the VCS grows into many many gigabytes of data, like the entire OpenBSD source tree didn't work out very well in Fossil, but the chances of a personal task manager ever growing that size is slim to none I would imagine. |
|
I see pieces like this in the Fossil docs:
"Fossil stores its objects in a SQLite database file which provides ACID transactions" -- https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
The whole point of git is that your only operations on the underlying data structure are:
1. writing an object under its hash
2. incrementing a pointer to the head of a branch, a git tag, or similar, to show which version is current
You can do (1) on an eventually consistent (or even never-really-consistent) backing store, without any sorts of strong guarantees of integrity, and the git data structure continue to guarantee integrity. If (2) goes out-of-sync, you're left in a state very similar to what happens if I'm working on my laptop, and you're working on yours. We need a merge.
With DVCS, the whole point is to make ACID irrelevant.
I hadn't heard of Fossil before, but reading over the docs, I see a lot of red flags like that.
If grit were backed bit literal git, I'll mention, you get a ton of stuff for free, mostly with regards to syncing and finishing tasks on distributed devices (e.g. my cell, my laptop, etc.)