パッチを作る良い方法ですか?

パッチを作る良い方法ですか?

特定のブランチからパッチを作成し、それを公式バージョンと比較したいと思いますgcc。これにより、安定版でタールボールを解凍するときにパッチを適用し、その特定のブランチと同じコンテンツを取得できます。

パッチを作成する必要があるのは今回が初めてなので、これを行うことが初めてであり、非常に重要なソフトウェアについて話しているので、主な関心事は正しいオプションを取得して解析することです。

diff -crB GccStable GccGit > /tmp/fromStabletoBranch.patch

これは十分で最善のアプローチですか?

ベストアンサー1

はい、これはパッチを生成する良い方法です。

簡単に言うと:

  1. 単一ファイルのパッチを生成するには、コマンドは次のようになります。

    diff -Naru file_original file_updated > file.patch

    どこ

    • -N: 存在しないファイルを空のファイルとして扱う
    • -a: すべてのファイルをテキストとして扱う
    • -r:見つかったサブディレクトリを再帰的に比較します。
    • -u:統合コンテキストNUM(デフォルト3)行出力
  2. ディレクトリ全体のパッチを作成します。

    diff -crB dir_original dir_updated > dfile.patch

    どこ

    • -c:コピーしたコンテキストのNUM(デフォルト3)行を出力します。
    • -r:すべてのサブディレクトリを再帰的に比較します。
    • -B:行がすべて空の変更を無視します。

結局のところ、このパッチを適用すると機能します。

patch -p1 --dry-run < dfile.patch

スイッチは、pファイルを正しく識別できるようにパッチにパスプレフィックスを削除するように指示します。これはほとんどの場合に当てはまります1

--dry-run画面に印刷された結果が満足な場合は、削除してください。

おすすめ記事