DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(diff.info.gz) Generating Smaller Patches

Info Catalog (diff.info.gz) Avoiding Common Mistakes (diff.info.gz) Making Patches
 
 Generating Smaller Patches
 ==========================
 
    The simplest way to generate a patch is to use `diff -Naur' (
 Tips for Patch Producers), but you might be able to reduce the size
 of the patch by renaming or removing some files before making the
 patch.  If the older version of the package contains any files that the
 newer version does not, or if any files have been renamed between the
 two versions, make a list of `rm' and `mv' commands for the user to
 execute in the old version directory before applying the patch.  Then
 run those commands yourself in the scratch directory.
 
    If there are any files that you don't need to include in the patch
 because they can easily be rebuilt from other files (for example,
 `TAGS' and output from `yacc' and `makeinfo'), exclude them from the
 patch by giving `diff' the `-x PATTERN' option ( Comparing
 Directories).  If you want your patch to modify a derived file
 because your recipients lack tools to build it, make sure that the
 patch for the derived file follows any patches for files that it
 depends on, so that the recipients' time stamps will not confuse `make'.
 
    Now you can create the patch using `diff -Naur'.  Make sure to
 specify the scratch directory first and the newer directory second.
 
    Add to the top of the patch a note telling the user any `rm' and
 `mv' commands to run before applying the patch.  Then you can remove
 the scratch directory.
 
    You can also shrink the patch size by using fewer lines of context,
 but bear in mind that `patch' typically needs at least two lines for
 proper operation when patches do not exactly match the input files.
 
Info Catalog (diff.info.gz) Avoiding Common Mistakes (diff.info.gz) Making Patches
automatically generated byinfo2html