1. ホーム
  2. svn

[解決済み] ブランチをトランクにマージする場合、「svn merge --reintegrate」と「svn merge without reintegrate」はどう違うのですか?

2022-03-13 16:40:31

質問

svnブック と書いてあります。 merge 's --reintegrate は、"ソースURLのすべての変更を作業コピーにマージすることです"。

あるブランチをトランクにマージして戻したいのですが。 いくつかの場所 を呼び出すことが絶対に必要であると述べています。 reintegrate をマージして、その後 ブランチを削除する その直後は面倒だと思うのですが。 その他の場所 は、再統合について全く触れていません。私はsvn 1.6.11を持っています。

だから、これからどうしたらいいのかわからないんです。

どのように解決するのですか?

A シンクマージ とはまったく別のものです。 再統合マージ . 前者は、親ブランチで行われたすべての変更のうち、まだマージされていないものをターゲットブランチ(通常は機能ブランチ)にマージするために使用されます。後者は、(機能) ブランチを親ブランチにマージするために使用します。基本的には、(機能) ブランチの一時的なクローンを作成し、親ブランチから一時ブランチへの同期マージを行い、最後に親ブランチを一時ブランチに置き換えるということです。つまり、一時的なブランチには、(feature) ブランチと親ブランチで行われたすべての変更が含まれます。

なぜか、この違いを理解しない開発者がいる。そこで、SVN開発者はオプションの --reintegrate SVN 1.8では このバージョンでは、ツールは自動的に 同期マージ または 再統合マージ を使用する必要があります。

古いバージョンを使っている場合は、オプションの --reintegrate に対して 再統合マージ . なお、いくつかの点に注意すれば、再統合後も (機能) ブランチを使用することができます。SVN bookによく書かれています。