1.2. Extensions

We recommend enabling a few Mercurial extensions for OGRE development; this is done quite simply in the configuration file.

Your configuration file should include at least the following:

[extensions]
progress=
rebase=
transplant=

The Progress extension just gives you more feedback on the progress of operations.

The Rebase extension allows you re-apply your commits on top of changes in the master repository, when someone else has pushed their changes to the master before you have. This avoids having to explicitly merge your changes with theirs, keeping a messy history; it effectively looks as if you had applied your changes on top of their in the first place. See Pulling Changesets.

The Transplant extension allows you to pull individual commits from one branch to another, should you need to. Typically changes are merged between branches but occasionally there are cases where you need to transplant individual ones.

Mercurial can generate patches in 2 different forms:- the default patch format is compatible with the GNU patch utilities and any other tools that understand them, and is therefore very portable; however it cannot deal with binary files, and can’t cope with renames. To resolve this, Mercurial also supports the Git patch format, which embeds more information and can also handle binaries. This is the recommended patch format for OGRE since it is far more functional, although it means you have to use Mercurial itself to apply the patches.

[diff]
git = True