Does Fossil have something like 'rollback'?
If not, would it not be good to have your standard SQL COMMIT/ROLLBACK semantics in an SCM?
I mean, sometimes you do something with your SCM that you immediately regret. Like, you do a 'pull' expecting that perhaps a couple files will be changed, and instead you get a screenful of statuses, errors and whatnots.
Ooops! So you look at what you typed, and turns out you were in a wrong branch, or you should have used 'pull x y' or whatever.
In any case, what you want to do now, is to 'roll back' ('undo') the last command.
Now, in SQL, when you make a mistake, you say 'rollback' and everything is good.
But in a typical SCM, either you cannot do it at all, or it is nontrivial. E.g. in Git, the way to 'undo' depends on the command that you are undoing. Sometimes it is 'revert', sometimes 'reset ^XX~xx' or 'abort', etc etc, clearly not optimal.
Is there an SCM that does that?