Diff
如何添加到統一的更新檔文件?
如果我有一個統一更新檔格式的更新檔文件,如下例所示,如何向其中添加行,以便(應用的)更新檔添加這些行?
--- 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!
簡而言之:你不這樣做。
龍:這就是為什麼
- 統一差異是一個腳本,使用與差異內容相關的行號和計數。
- 可以手動對此腳本進行簡單的更改(我會…),但是
- 統一差異主要對
patch
程序有用,並且patch
檢查差異部分之間的一致性,以及patch
將拒絕它發現不一致的部分。這些行包含行號和計數:
@@ -1,7 +1,6 @@ @@ -9,3 +8,6 @@
並且計數必須與差異剩餘行中的前導數
+
或標記數相匹配。-
因此,您無需手動執行此操作。有人可以編寫一個程序來做到這一點。但是,它不在
patchutils
(有人認為對操作更新檔文件有用的應用程序的想法),儘管您可能會發現它rediff
和combinediff
腳本有助於手動編輯更新檔文件。在任何情況下,很少有應用程序可以處理更新檔文件(也許有人已經編寫了一個)。
通常的做法是通過以下方式重新生成差異
- 獲取原始來源(更新檔之前)
- 製作源的更新檔版本(應用更新檔)
- 進行其他更改
- 建構一個新更新檔(跨越兩組更改)或增量更新檔(僅針對您的更改)。
diff
使用and很簡單patch
。因為它很簡單,所以沒有多少人會編寫工具來做到這一點。進一步閱讀: