RebaseIfExtension
This extension builds on the RebaseExtension but adds some simple logic that chooses a merge instead of a rebase if there are conflicts.
Contents
1. Status
This extension is/is not distributed with Mercurial.
Author: MarcusLindblom
Download site: https://bitbucket.org/marcusl/ml-hgext/src/tip/rebaseif.py
Issue tracker: https://bitbucket.org/marcusl/ml-hgext/issues
2. Overview
The extension provides both a new command rebaseif as well as a new option to pull --rebaseif that invoke the rebaseif procedure after pulling. (Similar to RebaseExtension 's --rebase option).
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.
3. Configuration
Configure your .hgrc to enable the extension by adding following lines:
[extensions] rebaseif = path/to/rebaseif.py
4. Usage
> hg rebaseif
> hg pull --rebaseif