通常、SVN ブランチをトランクに再統合するとき、次のような履歴を作成します。
trunk A---B---D---F---H
\ \ /
branch C---E---G---X
ここでG
はマージ、H
は再統合マージ、X
機能ブランチを削除します。G
また、SVN がとに使用するマージ アルゴリズムに違いがあることもわかりましたH
。ここまでは順調ですね。
ただし、1つのことが私を悩ませています:この回答は、再統合マージで何が起こるかに関するSVNドキュメントを次のように引用しています: !」
以来trunc + changes from branch = trunc + (branch - trunk) = branch
、再統合マージ後の記録された状態は、ブランチの最後に記録された状態と常にまったく同じであると結論付けています。
この歴史を考えてみましょう:
trunk A---B---D---F---H---I
\ \ /
branch C---E-----G-----X
I
上記の理由から、再統合マージの場合、コミット H からの変更は単純に失われると思います。これは正しいですか、それとも私が見逃したものがありますか?