0

TortoiseSVN のマージ オプションの使い方は理解できたと思います。ブランチが作成されてからトランクから更新していない場合は、さまざまなリビジョンのマージを使用できますが、ある時点でトランクからブランチを更新した場合は、ブランチとトランクを同期してから、ブランチを再統合する必要があると思いました(または 2 つの異なるツリーをマージします)。

また、当然の結果として、トランクからブランチを更新せずにブランチを再統合しようとすると、ブランチが作成されてからトランクへの変更が失われる、つまり、2 つを同期したくない場合であると考えました。次に、一連のリビジョンをマージする必要がありました。

しかし、私の同僚は、何も失うことなく、すべての状況でブランチを再統合することを使用していると言います。そこで、いくつかのテストを実行しましたが、TortoiseSVN の「ブランチを再統合する」を使用してブランチから最初にトランクのリビジョンをブランチにマージしていなくても。これは正しいですか?それでは、マニュアルのアドバイスの説明は何ですか?

4

1 に答える 1

0

TortoiseSVN documentationの「Reintegrate a branch」マージオプションに関する部分で、次のように述べています。

すべてのトランクの変更は、週ごとにフィーチャー ブランチに移植されました。これでフィーチャーが完成し、トランクにマージし直します。機能ブランチをトランクと同期させたままにしているため、ブランチとトランクの最新バージョンは、ブランチの変更を除いて完全に同一です。

これが混乱を引き起こしている部分だと思います(しばらく混乱しました)が、次のように述べています。

Subversion のマージ追跡機能を使用して、使用する正しいリビジョン範囲を計算し、トランクの変更でブランチが完全に更新されていることを確認する追加のチェックを実行します。これにより、最後に変更を同期してから他の人がトランクにコミットした作業を誤って取り消すことがなくなります。

このドキュメントの 2 番目のスニペットと私自身の経験に基づいて、「ブランチを再統合する」マージ オプションを使用しても安全だと思います。この方法を使用してブランチを再統合しますが、ブランチがトランクの変更で更新されることはほとんどありません (トランクの修正によってブランチのブロックの問題が修正された場合のみ)。

トランクの変更でブランチを更新するには、常に「リビジョンの範囲をマージする」を使用します。

于 2011-10-25T14:21:27.130 に答える