I've created a new context diff format that combines the old and new hunks into
one unified hunk.  The result?  The unified context diff, or "unidiff."

Posting your patch using a unidiff will usually cut its size down by around
25% (I've seen from 12% to 48%, depending on how many redundant context lines
are removed).  Even if the diffs are generated with only 2 lines of context,
the savings still average around 20%.

Keep in mind that *no information is lost* by the conversion process.  Only
the redundancy of having multiple identical context lines.

If you're worried that some people will be unable to apply a patch released
in unidiff format then you could include the "unipatch.c" program -- 1.3k of C
source that converts a unidiff into a context diff that any version of patch
can understand.  If your patch is at least 10k, you'll STILL be saving space.

Not worth the hassle?  I disagree.  The goal of saving net bandwidth (not to
mention storage space) is a good one.  The conversion process will take some
time, but I've attempted to make it as painless as possible.  I've included:

   o	a patch to make gnudiff (v1.14) generate a unidiff.
   o	a patch to make patch (patchlevel 12) accept a unidiff.
   o	a versatile program called "unify" that can translate from a context
	diff (new- or old-style) into a unidiff, and from a unidiff into a
	true new-style context diff.
   o	a man page for unify.
   o	a 1.3k bandaid called "unipatch" that translates a unidiff into a
	context diff format that older versions of patch can understand.
	(It outputs a slightly degenerate form of a context diff (no '!'s)
	but it works great with patch.)
   o	a Makefile to get you going quickly.

Use this package to "unify" your site, and then save it to help others.  Mail
the 1.3k bandaid to anyone who complains about being unable to apply a unidiff,
and also offer to supply the whole conversion package if desired.  Soon, the
whole net will be unified. ;-)
