merge-tracking とは svnmerge.py で行っている処理を Subversion が 直接サポートします。svn merge コマンドでマージした修正を Subversion が覚えておいて、次に マージしようとしたときにマージ済みの修正を適用しないようにする機能です。
リリース版のハージョンの管理のために作成するブランチをリリースブランチと呼びます。
通常ある時点の trunk からコピーされて分岐します。通常の利用方法は 何かバグが見つかったときに、まず trunk でバグ修正を行い、そして 必要なリビジョンだけリリースブランチにマージします。
このような利用目的のためマージの方向は trunk → リリースブランチ の 一定方向です。
ある程度大きく長期間にわたる修正を行いたい場合など作業用に 使用するブランチのことを機能ブランチと呼びます。
trunk で作業してしまうと長期間trunk を不安定な状態にしてしまい
他の開発作業に支障を来します。そのような場合に作業用に使用します。
※ リリースブランチから作成することもあります。
機能ブランチでの作業が終了したときには 機能ブランチ → trunk にマージを
行い、機能ブランチを削除します。
しかし機能ブランチが作成された後、trunk で修正が行われた場合、
trunk → 機能ブランチに変更をマージする必要があります。