DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(diff.info.gz) Multiple Patches

Info Catalog (diff.info.gz) Patching Time Stamps (diff.info.gz) Merging with patch (diff.info.gz) patch Directories
 
 Multiple Patches in a File
 ==========================
 
    If the patch file contains more than one patch, and if you do not
 specify an input file on the command line, `patch' tries to apply each
 patch as if they came from separate patch files.  This means that it
 determines the name of the file to patch for each patch, and that it
 examines the leading text before each patch for file names and
 prerequisite revision level ( Making Patches, for more on that
 topic).
 
    `patch' uses the following rules to intuit a file name from the
 leading text before a patch.  First, `patch' takes an ordered list of
 candidate file names as follows:
 
    * If the header is that of a context diff, `patch' takes the old and
      new file names in the header.  A name is ignored if it does not
      have enough slashes to satisfy the `-pNUM' or `--strip=NUM'
      option.  The name `/dev/null' is also ignored.
 
    * If there is an `Index:' line in the leading garbage and if either
      the old and new names are both absent or if `patch' is conforming
      to POSIX, `patch' takes the name in the `Index:' line.
 
    * For the purpose of the following rules, the candidate file names
      are considered to be in the order (old, new, index), regardless of
      the order that they appear in the header.
 
 Then `patch' selects a file name from the candidate list as follows:
 
    * If some of the named files exist, `patch' selects the first name
      if conforming to POSIX, and the best name otherwise.
 
    * If `patch' is not ignoring RCS, ClearCase, and SCCS (
      Revision Control), and no named files exist but an RCS,
      ClearCase, or SCCS master is found, `patch' selects the first
      named file with an RCS, ClearCase, or SCCS master.
 
    * If no named files exist, no RCS, ClearCase, or SCCS master was
      found, some names are given, `patch' is not conforming to POSIX,
      and the patch appears to create a file, `patch' selects the best
      name requiring the creation of the fewest directories.
 
    * If no file name results from the above heuristics, you are asked
      for the name of the file to patch, and `patch' selects that name.
 
    To determine the "best" of a nonempty list of file names, `patch'
 first takes all the names with the fewest path name components; of
 those, it then takes all the names with the shortest basename; of
 those, it then takes all the shortest names; finally, it takes the
 first remaining name.
 
     patch and POSIX, to see whether `patch' is conforming to
 POSIX.
 
Info Catalog (diff.info.gz) Patching Time Stamps (diff.info.gz) Merging with patch (diff.info.gz) patch Directories
automatically generated byinfo2html