>Everyone of these is an example of the git UI/UX confusing you about what is happening.
Um, I don't see it. Your first 2 links are the same question. All "3" examples basically give you a single command to run to get your work back. What's confusing?
> Mercurial for instance doesn't have this problem.
WHAT? Mercurial actively changes the underlying data objects it stores and there is NO WAY to get them back. Rollbacks actively delete content and you CAN'T restore them, shuffle them around, or anything like that. You do have the Journal extension but it's not apart of the core product. And people definitely haven't had problems with extensions before ;). See: https://book.mercurial-scm.org/read/undo.html
>In fact it tells you whenever you do something that might lose data that it made a backup and where it put the backup at.
So does git. Every operation that Mercurial gives you a warning about git does as well. Even better, git still gives you a way out even if you do the thing you shouldn't have done. It warns you in the prompt, it warns you with comments in the text editor of your choice that pops up for input.
Is there some operation you can give an example of that git lets you do that Mecurial somehow magically prevents or gives you a way out of?
>You are comparing Git to high cost options like Perforce
And what about the other opensource SCM's that lost?
>They have the same underlying datamodel.
They do not.
>I'm talking about solutions like mercurial which have a similar underlying model and a better user experience out of the gate.
It definitely does not. Not sure what you want but I'll take practical solutions like git being able to handle partial checkouts, branches, and blames over a nice gui. Git may have inconsistent command flags but it still does what you need it to.
>use hg than git any day because it's the same datamodel
You keep saying this but it's definitely not true, hence hg's limitations on certain operations. https://stackoverflow.com/a/1599930