レガシーシステムに最新のコードバージョンシステムを使用する方法を調査しています。ただし、実際には解決方法がわからない問題がいくつかあります。これをどのように組織化すべきだと思いますか。
コードの一部は弊社が責任を負い、一部はお客様が責任を負います。
私たちの開発システムにあるコードはマスターであり、すべての変更はそこで行われ、顧客に送信されます。ここまでは一般的なプロジェクトのようなものです。ただし、数百のファイルを含む一部のディレクトリでは、クライアントがコードを担当します。お客様は、必要に応じてこれらのファイルを変更でき、当社に通知する必要はありません。それらの更新を行う場合、これらのファイルのコピーを取得し、新しいバージョンを顧客に提供する前に変更をマージする必要があります。
システムが生きてきた 25 年間で、システムの 4 つの基本バージョンをリリースしました。ただし、当社の 6 人の顧客は異なるバージョンのシステムを使用しているため、検討する必要があります。また、お客様にはそれぞれ独自の要件があり、お客様ごとに大幅な調整を行っています。
同じファイルに関連するいくつかの並行プロジェクトがあります。現在、さまざまなプロジェクトが互いに干渉するという大きな問題があるため、さまざまなブランチに変更を加えることで大きなメリットが得られます。しかし、これをどのように整理するのでしょうか? 1 人の顧客のみに影響するプロジェクトもあれば、複数の顧客が関与するプロジェクトもあります。また、一部のプロジェクトは、将来の新しい基本バージョンに導入される可能性があります。
私の質問は、これを新しいバージョン システムでどのように整理するかです。