I don't really understand how SmartGit failed you? In your table of results it covers at least as many features as the others.
I call this out because I have been using SmartGit as my only git gui now for about 10 years and I think it does a grand job. It doesn't hide any information about the repo and makes just about any operation pretty straightforward. I also find it's built in diff and merge tools better than others. It also performs well enough and had been super stable.
(I am not affiliated with SmartGit, just a happy customer).
Ok I will end up agreeing with you, for the specific clauses where you require the operation be possible on any commit, even if its not part of the tree of HEAD.
I guess I reacted strongly to the negative review because despite your assessment it is still an eminently usable tool and in all the time I've used it haven't needed it to do anything more than it does.
As per my original comment though, I'd you haven't tried it's conflict resolution/merge tool I would recommend you do and perhaps you might be tempted to give it at least half a bonus point :)
If I recall correctly, the last time I tried it, it was unusably unresponsive on large repositories (500k+ commits), so I'm unable to use it for work :(
Re-reading the article and I see that your table headers are misaligned. I see you did mark SmartGit negatively in every category. It does support many of those features, so what gives?
I call this out because I have been using SmartGit as my only git gui now for about 10 years and I think it does a grand job. It doesn't hide any information about the repo and makes just about any operation pretty straightforward. I also find it's built in diff and merge tools better than others. It also performs well enough and had been super stable.
(I am not affiliated with SmartGit, just a happy customer).