I've used SmartGit HG for a while but now I switched to SourceTree. One feature that I'm used to and really missing in SourceTree is the auto stash feature. Current pull workflow:
When I'm having the same scenario in SmartGit HG it will ask me to stash my changes (if any) before pulling and it will automatically apply the stash when the changes are successfully pulled. This works much faster and I think it's quite elegant. It even has the option to always apply this approach on every pull.