2 人の開発者がそれぞれトランクからフィーチャー ブランチを作成する場合、トランクからだけでなくフィーチャー ブランチ間でも "同期マージ" を行っても問題なく、各フィーチャー ブランチをトランクに再統合できますか?
「同期マージ」とは、「svn merge ^/Project1/trunk」および「svn merge ^/Project1/branches/other-feature-branch」という形式のコマンドを意味し、svn:mergeinfo プロパティは何が行われたかを追跡します。すでに各場所からマージされています。
私が尋ねる理由は、ブランチへの同じリビジョンで再マージすると競合の問題が発生することを示唆する多くの場所でドキュメントを読んだことです (ただし、なぜこれが当てはまるのかが説明されている場所はどこにもありません) . その場合、上記のシナリオは問題になるはずです。なぜなら、各機能ブランチはトランクと同期するだけでなく、他の機能ブランチとも同期するためです。したがって、トランクで行われた変更は、トランクと直接同期するだけでなく、トランクと同期するときにも受信されます。もう一方の機能ブランチ (同じトランクの変更を既に取得している可能性があります)。
ただし、私が行ったテストでは、これは完全にうまく機能しているように見えますが、これをチームのワークフローとして推奨する前に、専門家に安心してもらいたいと思います.
@nosid: この編集で nosid に返信します。これは、SO のばかげた文字数制限により 4 文のコメントができないためです。このツイッターは何ですか?
ドキュメントを読みました。問題は、一度に 1 つの不安定化機能のみが処理され、不安定化作業が機能ブランチで実行され、他のすべての作業がトランクで実行されるという非常に単純なシナリオを説明していることです。そのシナリオでは、フィーチャー ブランチをトランクと同期させることは簡単です。
しかし、より現実的なシナリオでは、製品は非常に簡単にいくつかの主要な不安定化作業を一度に行うことができます。では、それらの作業をオンデマンドでトランクや相互に同期できるようにしながら、重大な変更を強制することなく同期を維持するためのプロセスは何でしょうか?