大規模なコードベースの再編成を実行したいのですが、再編成前に取られたブランチにトランクの修正を簡単に適用する方法を提供できない限り、先に進むことができません。
私が検討していたアプローチの 1 つは、すべてのサポート ブランチに再編成を適用することでしたが、これは不安定になる可能性があります。
推奨されるアプローチは、更新されたファイルの場所を考慮できるマージ ツールを提供することです。これを実装する方法について何か提案はありますか?
私の質問は、なぜ再編成をブランチにマージしたいのかということです。ブランチの背後にある考え方は、それらが(通常)メンテナンスモードである(たとえば、トランクはバージョン4であり、バージョン3に戻って修正する必要がある)、または人々がいくつかの副次的な作業を行うためのものであるということです。必ずしもすぐにトランクに入れたいとは限りません。
コードベースの完全な再編成を行っている場合は、コードの後方依存関係を解消する良い機会のように思えます。これを行わないと、実際に実行できるリファクタリングが制限される可能性があります。
私は、ブランチが常にメンテナンス関連でもホットフィックス関連でもないという同じ状況にあります。多くの場合、複数のアクティブな安定化ブランチを維持する必要があり、それらの間でマージする必要があります。トランクで継続的インテグレーションを実践するためにスコープを混在させるという贅沢はありません。
より詳細なレベルでマージを実行することに頼っています。フォルダーが移動された場合は、一方のブランチの古い場所から他方のブランチの新しい場所にマージを直接実行します。また、「svn move」を使用して元の再構築を行うことを強くお勧めします。これにより、祖先が確実に理解されます。
いずれにせよ、それは快適ではなく、非常に手動です。良い記録を残してください。