Handling Changes to the Directory Structure
-------------------------------------------
`diff' and `patch' do not handle some changes to directory
structure. For example, suppose one directory tree contains a directory
named `D' with some subsidiary files, and another contains a file with
the same name `D'. `diff -r' does not output enough information for
`patch' to transform the the directory subtree into the file.
There should be a way to specify that a file has been deleted without
having to include its entire contents in the patch file. There should
also be a way to tell `patch' that a file was renamed, even if there is
no way for `diff' to generate such information.
These problems can be fixed by extending the `diff' output format to
represent changes in directory structure, and extending `patch' to
understand these extensions.