diffutils: patch Directories

 
 10.7 Applying Patches in Other Directories
 ==========================================
 
 The '--directory=DIRECTORY' ('-d DIRECTORY') option to 'patch' makes
 directory DIRECTORY the current directory for interpreting both file
 names in the patch file, and file names given as arguments to other
 options (such as '-B' and '-o').  For example, while in a mail reading
 program, you can patch a file in the '/usr/src/emacs' directory directly
 from a message containing the patch like this:
 
      | patch -d /usr/src/emacs
 
    Sometimes the file names given in a patch contain leading
 directories, but you keep your files in a directory different from the
 one given in the patch.  In those cases, you can use the
 '--strip=NUMBER' ('-pNUMBER') option to set the file name strip count to
 NUMBER.  The strip count tells 'patch' how many slashes, along with the
 directory names between them, to strip from the front of file names.  A
 sequence of one or more adjacent slashes is counted as a single slash.
 By default, 'patch' strips off all leading directories, leaving just the
 base file names.
 
    For example, suppose the file name in the patch file is
 '/gnu/src/emacs/etc/NEWS'.  Using '-p0' gives the entire file name
 unmodified, '-p1' gives 'gnu/src/emacs/etc/NEWS' (no leading slash),
 '-p4' gives 'etc/NEWS', and not specifying '-p' at all gives 'NEWS'.
 
    'patch' looks for each file (after any slashes have been stripped) in
 the current directory, or if you used the '-d DIRECTORY' option, in that
 directory.