如何为新文件创建补丁?

时间:2011-04-11 15:35:01

标签: c linux patch

我知道为现有文件创建补丁非常简单:

diff -aru oldFile newFile 2>&1 | tee myPatch.patch

但该怎么办,如果我想为一个全新的文件创建一个补丁?假设我的文件位于名为TestDir的文件夹中。早先的TestDir没有名为entirelyNewfile.c的文件,但现在它的版本相同。

如何为entirelyNewfile.c创建补丁?这个想法是,补丁应该适当地应用于规范并生成RPM构建。使用BUILD dir有这个新文件。

只是添加:如果我尝试在两个目录之间进行差异,一个具有新文件而另一个缺少相同的内容,以创建补丁,则会生成错误,指出该文件仅存在于一个目录中夹

3 个答案:

答案 0 :(得分:15)

-N添加到diff参数。

答案 1 :(得分:4)

diff /dev/null <newfile>

将为您的新文件创建补丁。

答案 2 :(得分:1)

我知道最简单的方法是将所有文件置于版本控制之下(如果它们还没有)。我更喜欢Git,但类似的东西可以在任何其他版本控制系统中完成:

git init
git add .
git commit -m "initial state"
<do your edits here>
git add .
git commit -m "new state"
git diff HEAD^1