How to create and use a patch in Linux
Creating a Patch File
diff -Naur olddir newdir > new-patch
diff -Naur oldfile newfile >new-patch
Using the Patch Command
patch -p0 <new-patch patch -p1 <new-patch
Which one of the above patch commands you use depends on your current working directory. Other Methods for calling the patch command - using standard input of patch:
Levels in the Patch Command (-p0 or -p1?)
The -p option will optionally strip off directory levels from the patchfile. For Ex: if you have a patchfile with a header as such:
--- old/modules/pcitable Mon Sep 27 11:03:56 1999 +++ new/modules/pcitable Tue Dec 19 20:05:41 2000
Using a -p0 will expect, from your current working directory, to find a subdirectory called "new", then "modules" below that, then the "pcitable" file below that.
Using a -p1 will strip off the 1st level from the path and will expect to find (from your current working directory) a directory called "modules", then a file called "pcitable". Patch will ignore the "new" directory mentioned in the header of the patchfile.