Usually, when you are looking at the differences between files, you will also want to see the parts of the files near the lines that differ, to help you understand exactly what has changed. These nearby parts of the files are called the context.
diff provides two output formats that show context
around the differing lines: context format and unified
format. It can optionally show in which function or section of the
file the differing lines are found.
If you are distributing new versions of files to other people in the
diff output, you should use one of the output formats
that show context so that they can apply the diffs even if they have
made small changes of their own to the files.
patch can apply
the diffs in this case by searching in the files for the lines of
context around the differing lines; if those lines are actually a few
lines away from where the diff says they are,
patch can adjust
the line numbers accordingly and still apply the diff correctly.
See Applying Imperfect Patches, for more information on using
patch to apply