In a version control system, this is axiom 0.
It is a huge blob of changes. When it will be ready, I'd have to split it to maybe 6 to 8 commits, with well written commit messages. But I cannot do this yet -- for all that I know, I'll find out my design was bad, and I'll have to change those things tomorrow.
So the question is: what do I do with it?
In the old days, I had a VCS which could not change history (SVN). So I'd keep multiple worktrees and back them up manually ("project-2009-12-03.tar.gz", "file1.cc.before-refactor") and so on. The data would be lost sometimes. It was a pain generally.
Now, I have a git branch. It has commit messages like "fix crash in Foo()", "what if we used trie?", "oops forgot to update Bar to match" and so on. They should never see the light of day, and they won't -- they'll get re-made into different commits later. And git will help me to make sure the changes are not lost.
It looks like with the fossil, I should be going back to multiple worktrees and manual backups. I don't understand why would one want to do so.
In rebase world, I have a cycle of "cherry-pick a few changes, get them into master, rebase experimental so it gets smaller; repeat until nothing is left of experimental"
In permanent world, I guess I have two worktrees and copy files one-by-one, manually?
The question is, why would people give this up and move to Fossil?
It seems like both "an immutable view of what happened" and "a crafted narrative of feature changes, bug fixes and releases" are useful. Its ridiculous that I'm expected to pick one. Git and fossil should raise their game.
(Yes; git's tooling supports either approach, but not both at the same time. A better tool would let me avoid making this tradeoff at all.)
Unless you want to get really semantic in which case, sure "history" can't be changed, but "recorded history" certainly can.
I don't use that axiom, rampantly alter history all the time, and Fossil is not for me.
I'm glad that person mentioned it.