私の知る限り理解し、Subversionの中にマージ&を分岐処理する最も一般的な(と推奨)の方法は次のとおりです。Subversionは両方向のマージを適切に処理できますか(トランク<->ブランチ)?
- トランク
- のコピーはブランチ上の破壊的開発、および定期的な開発を行うようブランチを作成on trunk
- このようにしている間に、trunk - > branchの変更を定期的にマージして、分岐が大きくなりすぎないようにします。マージトラッキング(
svn:mergeinfo
)では、svn merge ^/trunk
を実行するだけで、SVNはトランクからのすべてのアンマウントされた変更を自動的にフェッチします。 - ブランチの作業が完了したら、すべてをマージして(トランク上で:
svn merge --reintegrate ^/branch/foo
)、ブランチを破棄します。
(例えば、SVN本、Basic Mergingの章に記載されている)。
私の問題:これは「機能ブランチ」ではうまく機能しますが、時には出荷/出荷予定バージョンを表す「リリースブランチ」も必要になります。 ( - >トランク支店)時々
- バグ修正:私の経験のマージ中リリースブランチで
は、両方の方向に起こることがありますトランク(または新しい機能)からのバグ修正は、リリースバージョン(またはリリースへのアップデート)にとって重要であるとみなされるので、トランク - >ブランチをマージする必要があります。
私は、 SVNとsvn:mergeinfo
がこれを処理します。双方向でマージ(「双方向マージ」)しても、svnでマージされたリビジョンを追跡できますか?
落とし穴がありますか?何に注意を払うために特別な?