統合パッチファイルにどのように追加しますか?

統合パッチファイルにどのように追加しますか?

統合パッチ形式のパッチファイルがある場合(以下の例を参照)、(適用された)パッチがその行を追加するようにファイルに行を追加するにはどうすればよいですか。

--- lao 2002-02-21 23:30:39.942229878 -0800
+++ tzu 2002-02-21 23:30:50.442260588 -0800
@@ -1,7 +1,6 @@
-The Way that can be told of is not the eternal Way;
-The name that can be named is not the eternal name.
The Nameless is the origin of Heaven and Earth;
-The Named is the mother of all things.
+The named is the mother of all things.
+
Therefore let there always be non-being,
so we may see their subtlety,
And let there always be being,
@@ -9,3 +8,6 @@
The two are the same,
But after they are produced,
they have different names.
+They both may be called deep and profound.
+Deeper and more profound,
+The door of all subtleties!

ベストアンサー1

簡単に言えば、あなたはそうではありません。

チーム長:それが理由だ

  • 均一な違いはスクリプト、使用行番号そしてセダdiffの内容に関連しています。
  • このスクリプトを手動で簡単に変更することはできますが(私はこれを行います...)
  • Unified-diffは主にプログラムに役立ちますpatch
  • patchdiff部分間の一貫性を確認し、
  • patch一致しないと判断されたセクションは拒否されます。

次の行には、行番号と数が含まれます。

@@ -1,7 +1,6 @@
@@ -9,3 +8,6 @@

そして、その数は、差の残りの行にある先行またはトークンの+数と一致する必要があります。-

したがって、これは手動で実行されません。誰できるこれを行うプログラムを作成します。しかしそれはありませんpatchutils(パッチファイルを操作するのに役立つアプリケーションに関する誰かのアイデア)パッチファイルを手動で編集するのに便利なアプリケーションとrediffスクリプトcombinediffを見つけることができます。

とにかくパッチファイルを処理するアプリケーションはほとんどありません(おそらく私はすでに1つを書いています)。

ここで一般的なアプローチは、次のようにdiffを再生成することです。

  1. ソースソースを入手する(パッチ前)
  2. ソースコードのパッチバージョンの作成(パッチ適用)
  3. 追加の変更
  4. 新しいパッチ(両方の変更を含む)または増分パッチ(変更のみ)をビルドします。

これを達成することはおよびを使用してdiff簡単ですpatch。簡単すぎるため、これを行うツールを書く人はあまりありません。

追加資料:

おすすめ記事