An open source fork of RhodeCode called Kallithea was recently released. I've added it to the list but with criticisms since it is new (far riskier to use than anything else on this list).
I added a new project I found, srchub. However, since it doesn't change my final recommendation of SCM-Manager, I kept it in this same answer.
I generally use gitg. It is a GTK client for viewing and interacting with git repositories. It is a simple to use GUI that started as a GNOME replacement for Gitx.
Some of the features of gitg:
A quick overview of your log history.
Right click option to create branches, tags and cherry pick commits.
Easy to stage and unstage changes
And the drawbacks......
I have been using SmartGit. It costs 80 USD, but is free for non-commercial use. It is Java-based, so it can be used on Windows, Mac, and Linux. Along with support for all typical Git features, it supports Git-flow and has optional integration with several online Git and Hg (Mercurial) hosting services, including Github and Bitbucket.
I've been using Subversion with the Tortoise SVN client on Windows for many years and find it very easy to use. The client is implemented as a Shell extension (on the context menu) and can be integrated into Visual Studio if that's your IDE.
Subversion is free to use and provides command line access if needed.
Don't migrate to Git. "Git is pain" for hg-users
You can try to read about different hg-hosting
own instance of SCM-Manager locally
free or paid Dogus on Cloudogu EcoSystem
With a little playing about TortoiseHg can do more or less what you are asking for by using the revset filter on the filter bar.
First ensure that the filter bar is visible by selecting in the view menu or pressing ctrl-S then in the revset filter try entering:
children(branchpoint() or merge()) or parents(branchpoint() or merge())
This should select a ...
See the redbook entry on hooks for more information and the config ...
TortoiseHg does have some integrated GUI support for evolve these days: the workbench shows obsolescence relationships and troubled revisions, and the "Strip" command becomes "Prune" when evolve is enabled.
It doesn't yet support all the new commands like hg fold, or even hg evolve, but you can add those yourself using Custom Tools.
For example, try ...
FishEye appears to be basically hg serve on steroids.
Crucible is basically a private-cloud Bitbucket
Crucible has some minimal integration with FishEye, so you can click on files and changesets to view them in FishEye, and a couple of other insignificant bits of integration. Definitely, they can be used independently.
In addition to the existing answer, I wanted to point out an alternative that has just recently "joined" the market.
How suitable this is for you, depends on the level of private your repositories were on Bitbucket. I know they were offering non-public repositories, if that's what you mean.
If you are looking to host your FOSS project publicly foss....
I ended up going with Codeship, which meets all my requirements.
Integration with Bitbucket was very easy - a few clicks and everything was set up. Their free plan is currently limited to 1 concurrent build and 100 builds per month, but this is plenty for my projects.
The only somewhat painful part was setting up the actual build script, although I haven't ...
You can always try TortoiseHg.
Gratis & Open Source
Available for Windows, Linux & OS-X
You can select text in most areas of the GUI
Full Hg GUI not just a tree view
Multiple Repositories open at once in tabs
Also show a diff of the selected file that is a member of the selected change set.
Explorer integration on Windows
Having found http://en.wikipedia.org/wiki/List_of_tools_for_code_review I see there aren't many options! It's Phabricator, Review Board or Crucible. We do use other Atlassian products so it may be feasible to use Crucible, but it looks too expensive considering we're currently using a free tool. It looks like the best idea will be to set up a test ...
I like SmartGit and GitKraken because they both have a "stage hunk" feature (similar to SourceTree) which let's you choose which changes in a given file to commit. I find this really useful when I've been working on different fixes/features at the same time in a single branch.