diffコマンドによって生成されたパッチは、パッチによってコマンドパッチを打ちます

最近会ったgitのフォーマットパッチとgitの午前事情がgitの午前ない直撃、毎回の競合でパッチを再生するにはgitのフォーマット - パッチで仕事をしない、原因が発見されていない、私はプロセスでは、他の方法を見つけなければなりませんでした、それはdiffコマンドでパッチを生成することができたpatchコマンドでパッチを打ちます。

単一ファイルのパッチを生成する1

1 $ diffを-upのlinux-2.6.28.8 /ネット/ SUNRPC / svc.orig.cのlinux-2.6.28.8 /ネット/ SUNRPC / svc.c>パッチ
このコマンドは、次のような出力が生成されます、あなたはファイルにリダイレクト、このファイルは、パッチです。
1差分-upのlinux-2.6.28.8 /ネット/ SUNRPC / svc.orig.c 2009-03-17 08:50:04.000000000 0800 
2 +++のlinux-2.6.28.8 /ネット/ SUNRPC / svc.c 2009- 3月30日19:18:41.859375000 0800 
3 @@ -1050,11 +1050,11 @@ svc_process(構造体svc_rqst * rqstp)
詳細なパラメータ:
-uは、行線(コンテキスト)前後の差を示し、デフォルトでは3列の前及び後に、その結​​果、パッチ内のより多くの情報を使用しています。
C -p情報表示機能コードが表示されます。

複数のファイルのためのパッチを生成する2

1 $ diffを-uprNのlinux-2.6.28.8.orig /ネット/ SUNRPC /のlinux-2.6.28.8 /ネット/ SUNRPC />パッチ
このコマンドは、すべてのソースのLinux-2.6.28.8.orig /ネット/のSUNRPCの違い/およびLinux-2.6.28.8 /ネット/ SUNRPC / 2つのディレクトリを比較します。
詳細なパラメータ:
比較-r再帰的にディレクトリとそのサブディレクトリの全て(すなわち、ツリー全体)。
ファイルが欠落している場合は、-Nは、それが比較するために、空のファイルとして扱われます。diffは古いコードや新しいコード行方不明のファイルを見つけたときあなたは、単にヒントをファイルが見つからない、このオプションを使用しない場合。このオプションを使用する場合は、意志新しいパーツから新しい印刷などの新しいファイル。

3.パッチ適用

パッチツールをパッチを生成しますが、他の人が他のディレクトリ名であってもよいし、そうする場合、パッチ、コードのディレクトリを入力するように戦わなければならない、と言ったときの経路情報生成パッチは、ディレクトリの差分の名前が含まれ、パッチを無視してください最初のレベルディレクトリパス(パラメータ-p1)。
1 $パッチ-p1 <patch1.diff
diffコマンドは、ルートディレクトリの全体のLinuxソースディレクトリで実行する必要があります。

例4

変更されたカーネルパッチを生成し、その後、カーネルパッチを生成するように変更されていないパッチを使用するには
ここで、ディレクトリのlinux-2.6.31.3カーネルが変更されていない、ディレクトリのlinux-2.6.31.3_1は、カーネルに変更されます
1 $ diffを-uprNのlinux-2.6.31.3のlinux-2.6.31.3_1 /> mypatch 
2 $ CDのlinux-2.6.31.3 
3 $パッチ-p1 <mypatch

 

注意点

1.パッチを演奏し、パラメータ-p1は、代わりリットルの1である。プロジェクトの下で同じツリー構造が、プロジェクトは必ずしも同じ名前ではありませんので、あなたがP1によってこの問題を回避することができますときにパッチを演奏し、最初のレベルのディレクトリを無視するのはなぜ。この特定の実行パスは、パッチコンテンツのパッチを調べることによって決定することができます。

パラメータは-P2ディレクトリレベル2を無視し、そしてようにされている場合2.パラメーター-p1 1つのディレクトリレベルの代表は、無視しました。例4 Takeは、例えば、そのパッチのパラメータ-p1缶を再生し、修正された二つの部分のカタログファイルとの差分-upRn真後ろです。2つの同じパスの前にあるディレクトリフォルダ場合、そのパラメータは-p3を変更する必要があります

 

参考リンク:パッチを生成し、Linuxでパッチを打つ  https://www.cnblogs.com/aaronLinux/p/5860552.html

おすすめ

転載: www.cnblogs.com/ArsenalfanInECNU/p/12486435.html