タグ付けされた質問 「patch」

パッチは、たとえばバグを修正したり機能を追加したりするために、ソースコードパッケージを変更するために使用されるファイルです。

4
パッチを分割して編集する方法は?
たとえば、含まれている個別の機能ごとに、大きなパッチをより小さな(互いに素な)パッチに分割する必要がある場合があります。 通常は、標準のvim yank / ddコマンドと分割ウィンドウ切り替えを使用して行います。 しかし、そのような編集を支援するツール/ vim-tricksはありますか? たとえば、次のようなコマンドのサポート:次の3つの完全なハンクを右の開いたパッチファイルに移動します。
10 vim  patch 

1
パッチの逆転が成功した場合、それは常にパッチが完全に適用されたことを意味しますか?
これは、「ファイルまたはフォルダにすでにパッチが適用されているかどうかを確認する」および「すでに適用されているパッチをスキップするときに0 をpatch返す」という 2つの質問で触れられますが、どちらも満足のいく答えはありませんでした。 スクリプトを作成していて、パッチについて次のことをテストしたいと思います。 完全に適用:続行 一部適用:終了 適用されない:正常に適用できる場合はそれを実行して続行し、それ以外の場合は終了します 問題は部分的に適用されたケースを処理することです: mkdir test && cd test cat << EOF > foobar.patch --- /dev/null +++ foo @@ -0,0 +1 @@ +foo --- /dev/null +++ bar @@ -0,0 +1 @@ +bar EOF patch --forward -i foobar.patch rm foo つまり、barは存在しますが、ある時点で削除されたため、fooは存在しません。パッチを予行演習で前方に適用すると、正常に適用されないため、終了コードは1になります。 $ patch --dry-run --forward --force -i …
9 patch 

2
新しいファイルをパッチに含める方法
ここで紹介するパッチを作ってみます。 2つのディレクトリがpp1(modified version)ありpp0(clean version)、次pp0.patchのdiffコマンドでパッチファイルを作成するとします。 diff -crB pp0 pp1 > pp0.patch 問題は、pp1にのみファイルがある場合、パッチに含まれないことです。それを回避するには? 更新: 最初にpp0のディレクトリに移動し、パッチが成功するかどうかをテストします patch --dry-run -p1 -i /path-to-pp0.patch コマンドに追加--new-fileしましたが、diffだけのものpp1は結果に表示されません 更新: 誤って間違ったファイルにパッチを適用したので diff -crb --new-file pp1 pp0 > pp0.patch または diff -crNb pp1 pp0 > pp0.patch しましょう
9 diff  patch 

2
lkmlに送信されたパッチについて、ツリー管理者からのフィードバックをどのように求めればよいですか?
私はLinuxカーネルにパッチを提出しましたが、これはいくつかのレビューを受け、メーリングリストで何度か繰り返されました。2人の開発者によってACKとレビューが行われましたが、パッチを承認するのは特定の開発者次第であると彼らは言います。この開発者は、メーリングリストに比較的欠席しています。私は彼に個人的に嫌がらせをしたくありませんが、パッチを受け入れることができるか、または受け入れられないことのある種の謝辞をお願いします。この開発者からフィードバックを求めるための最良の方法は何ですか?彼またはレビュアーの1人にプライベートメールを送信することは許容されますか、それともメーリングリストを通じてすべてのコミュニケーションを公開することが重要ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.