使用diff文件添加补丁时遇到一些问题。 我用这种方式使用两个C源创建了diff文件:
$diff gitrans.c.origin gifstrans > giftrans.diff
当我尝试使用diff文件创建补丁时,我得到了这个错误:
$patch -p1 < giftrans.diff
patch: **** Only garbage was found in the patch input.
有人可以帮帮我吗?我找不到解决方案。
答案 0 :(得分:3)
您没有使用正确的语法。使用方式如下:
$diff -aNur gitrans.c.origin gifstrans > giftrans.diff
哪里
-a , treats it as text
-N , treats absent files as empty, useful if you want
just changes of different existing files but not
for new files
-u , output as unified. This is need to fix you problem
-r , recursively, useful if you want diff directories
我总是忘记选项,因此我只记得 aNur
这个词。这很容易记住。
答案 1 :(得分:2)
您应该使用具有给定补丁语法的统一差异格式
$diff -u gitrans.c.origin gifstrans > giftrans.diff
$patch < giftrans.diff
或带有以下补丁语法的默认diff格式
$diff gitrans.c.origin gifstrans > giftrans.diff
$patch gitrans.c.origin giftrans.diff