如何将新文件包含到补丁中

man*_*ang 9 diff patch

我尝试制作此处介绍的补丁。
说我有两个目录pp1(modified version)pp0(clean version)我打个补丁文件,pp0.patchdiff命令:

 diff -crB pp0 pp1 > pp0.patch
Run Code Online (Sandbox Code Playgroud)

问题是如果只有 pp1 中有一个文件,它不会包含在补丁中。如何解决它?

更新
我首先进入pp0目录,测试补丁是否成功

  patch --dry-run -p1 -i /path-to-pp0.patch
Run Code Online (Sandbox Code Playgroud)

虽然我已经添加--new-filediff命令中,但pp1结果中没有列出那些只在

更新
我不小心修补了错误的文件,所以

  diff -crb --new-file pp1 pp0 > pp0.patch
Run Code Online (Sandbox Code Playgroud)

或者

  diff -crNb pp1 pp0 > pp0.patch
Run Code Online (Sandbox Code Playgroud)

会做

tki*_*kit 9

您应该可以使用--new-fileswitch来做到这一点。取自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.
Run Code Online (Sandbox Code Playgroud)

尝试这个:

diff -crB --new-file pp0 pp1 > pp0.patch
Run Code Online (Sandbox Code Playgroud)