This extension builds on the RebaseExtension but adds some simple logic that chooses a merge instead of a rebase if there are conflicts.
This is useful since manual merges are error prone and a merge commit more clearly expresses each side of the merge, and the merge resolution choices, than a rebase (which tends to bundle all the local changes and the merge ops together and giving little chance of a rollback.)
The background for this is described in this StackOverflow question.
This extension is/is not distributed with Mercurial.
Download site: https://bitbucket.org/marcusl/ml-hgext/src/tip/rebaseif.py
Issue tracker: https://bitbucket.org/marcusl/ml-hgext/issues
Configure your .hgrc to enable the extension by adding following lines:
[extensions] rebaseif = path/to/rebaseif.py