Patch files

Creating a Patch File
diff -Naur olddir newdir > new-patch or 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.