如何创建补丁以删除文件夹并使用diff创建新文件夹?

时间:2015-02-20 05:50:24

标签: linux bash diff patch

例如,我有两个目录,分别是 old new 。目录 old 具有子目录 abc ,目录 new 具有子目录 cde 。 我尝试使用

创建补丁
diff -ru old/ new/ > file.patch

我在file.patch中获得了以下输出:

Only in old/: abc
Only in new/: cde

当我尝试修补文件时出现以下错误:

patch: **** Only garbage was found in the patch input.

当我尝试使用以下方法创建补丁时:

diff -ruN old/ new/ > file.patch

我得到空文件。补丁。

有没有办法创建一个修补程序,当修补旧版本时会删除 abc 并在旧版本中创建 cde

1 个答案:

答案 0 :(得分:1)

makepatch脚本对此非常有用。我将它用于几乎所有的源补丁,以及diffstat。还有applypatch(完成任务),但我自己不使用它。

GNU diff新文件“-N”选项(用于不...)使用递归选项“-r”。所以你可以使用

diff -r -N old new

我刚刚确认它适用于diff 3.0(现在已经很老了)。