我知道为现有文件创建补丁非常简单:
diff -aru oldFile newFile 2>&1 | tee myPatch.patch
但该怎么办,如果我想为一个全新的文件创建一个补丁?假设我的文件位于名为TestDir
的文件夹中。早先的TestDir
没有名为entirelyNewfile.c
的文件,但现在它的版本相同。
如何为entirelyNewfile.c
创建补丁?这个想法是,补丁应该适当地应用于规范并生成RPM构建。使用BUILD dir有这个新文件。
只是添加:如果我尝试在两个目录之间进行差异,一个具有新文件而另一个缺少相同的内容,以创建补丁,则会生成错误,指出该文件仅存在于一个目录中夹
答案 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