私は、Simple Machines Forum (SMF 1.1.13) の (汚れた) 製品インストールを持っています。1回はクリーンインストールでした... 約5年前、20回の更新、40回の改造。コード ベースに直接パッチを適用したカスタム コードは言うまでもありません。これは楽しみのためのサイド プロジェクトとして開始されたもので、最初はコード管理のプラクティスはありませんでした。
現在、SMF 2 が (近づいて) 稼働中であり、アップグレードしたいと考えています。ただし、カスタム機能を置き去りにすることはありません。
読み続けてください。これは一般的なソフトウェア管理に関する質問であり、SMF サポートに関する質問ではありません...
カスタム機能を新しいコード ブランチに移植する最善の方法を見つけようとしています。
- 場合によっては、1.1.x のカスタム機能が 2.0 に既に存在します。ええ、私には仕事がありません!
- 場合によっては、2.0 用にバージョン管理された mod パッケージがあり、それらをクリーンな SMF 2 ビルドに直接インストールできます。ええ、私にとっては最小限の作業です!
- 場合によっては、コードの移植が 2 つのバージョン間でかなり単純になります (たとえば、クエリやグローバル変数の構成にいくつかの小さな変更が加えられます)。(いくつかの機能/改造を 2.0 から 1.1.x に移植したので、それに慣れ始めています。)
- 場合によっては、ほとんどゼロから機能を再開発する必要があります。
最後の 2 つのオプションは管理が難しくなります。
あるブランチから別のブランチに多数の変更を移植する方法について何か提案はありますか? それが私自身の社内コードでない場合、それはです。これが私の最初の計画です:
- 1.1.x のクリーン バージョンと私の「ダーティ」プロダクション コードの違い
- 各行の diff を機能にマップします (「そのコードの更新はカスタム タグ機能です。1 行ずつ移植する必要があります。あそこにあるのはギャラリーです。おそらく更新された mod をインストールできます。」)これは SOMUCHEASIER になります。一度に多数のファイルを確認する代わりに、統合されたレポートを生成する差分ツールがあれば。Google と SO の検索では、そのようなツールは見つかりませんでした -- ありますか?
- クリーンな 2.0 ブランチをインストールする
- 利用可能な更新された mod をインストールする
- 袖をまくり上げて、機能ごとに差分を調べて (これが、統合された差分レポートが必要な理由です。ページごとに行うのは地獄です)、それらを元に戻します。
より良いアイデアはありますか?(リリース管理情報へのポインタは大歓迎ですが、もちろん、それは実際には私のコードではないため、私には制御が限られているという警告があります。)
さもないと?私のオプションは、カスタム機能を捨てるか (実際には実現可能ではありません)、古いブランチにとどまることだと思います。どちらも吸う。ヘルプ!
tl;dr : ディレクトリ全体の統合されたファイルごとの差分レポートを作成する差分ツールを教えてください。および/または、カスタム コードを移行するためのより簡単な方法を見つけるのを手伝ってください。