Contextual format, with both sides contexts
output. This format store contextual information for
both sides and thus can be applied in forward and reverse
without knowledge of normalization function used to
ignore insignificant differences in the context.
unix-diff-normal
Normal format (i.e. legacy format), no
context is output. This format stores no context and
thus does not suffer from small changes in the lines
around patch items however if line numbers change because
of line insertion or removal, patch application might be
dangerous
unix-diff-unified
Unified format, only one side of context is
output. This format stores contextual information
once only, and can thus applied easily only in forward
mode. In reverse mode, the patcher needs to know how to
ignore insignificant differences present in the context
(of course if the context is exactly the same there is no
problem).