Diff
如何將新文件包含到更新檔中
我嘗試按照此處介紹的方式製作更新檔。
假設我有兩個目錄
pp1(modified version)
,我使用以下命令pp0(clean version)
創建一個更新檔文件:pp0.patch``diff
diff -crB pp0 pp1 > pp0.patch
問題是如果只有 pp1 中的文件,它將不會包含在更新檔中。如何解決它?
UPDATE :
我先切換到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
會做
您應該可以使用
--new-file
switch 來執行此操作。取自diff 手冊頁:--new-file In directory comparison, if a file is found in only one direc- tory, treat it as present but empty in the other directory.
嘗試這個:
diff -crB --new-file pp0 pp1 > pp0.patch
直接的答案:
diff -N
正如pootzko 所解釋的那樣。你會發現很多更新檔都是由diff -urN
.什麼可以讓你的生活更美好:開始使用版本控制工具。如果您不知道,請從三個主要的分佈式修訂控制系統之一開始,Bazaar、Git或Mercurial。簽入乾淨版本,工作,根據需要多次簽入您的工作,並向您的版本控制系統詢問乾淨版本和您的工作之間的差異。