2

我在使用差异文件添加补丁时遇到了一些麻烦。我以这种方式使用两个 C 源创建了差异文件:

$diff gitrans.c.origin gifstrans > giftrans.diff

当我尝试使用 diff 文件创建补丁时,我收到此错误:

$patch -p1 < giftrans.diff
patch: **** Only garbage was found in the patch input.

有人可以帮我吗?我找不到解决方案。

4

2 回答 2

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。这很容易记住。

于 2012-06-05T13:11:47.520 回答
2

您应该使用具有给定补丁语法的统一差异格式

$diff -u gitrans.c.origin gifstrans > giftrans.diff
$patch < giftrans.diff

或具有以下补丁语法的默认差异格式

$diff gitrans.c.origin gifstrans > giftrans.diff
$patch gitrans.c.origin giftrans.diff
于 2012-06-05T13:56:04.603 回答