3者間マージは基本的に対称的です。つまり、コードの2つの異なるバージョン(2つのブランチ)を1つのバージョンにマージします(マージコミット)。default
に更新することとマージすること、またはその逆を行うことには技術的な違いはありませんrelease
。特に、マージの競合はまったく同じです。
Mercurialでは、名前付きのブランチ名のために余分な工夫があります。デフォルトでは、マージコミットは最初の親のブランチ名を継承します。したがって、マージする前にに更新しない場合default
、最初の親はになりますrelease
。ただし、コミットする前にブランチ名を変更できます。
コマンドラインでは、次のようになります。
$ hg update release
$ hg merge default
$ hg branch default
$ hg commit -m 'Merged release into default'
TortoiseHgの2.0より前のバージョンでは、マージをコミットするための次のダイアログが表示されました。
「branch:release」というコミットメッセージの上にあるボタンを使用して、次のコミット(マージコミット)のブランチを変更できます。TortoiseHg 2.xでは、ダイアログは次のようになります。
ブランチを変更するためのボタンはもうありません。
TortoiseHg開発者にボタンを再度追加するように依頼するか、最新バージョンのMercurialと互換性のある2.0より前のTortoiseHgが必要な場合は、HenrikStuartのTortoiseHgを使用できます。