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
patch to transform the directory subtree into
There should be a way to specify that a file has been removed 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.
There should be a way to tell
patch that a file’s timestamp
has changed, even if its contents have not changed.
These problems can be fixed by extending the
diff output format
to represent changes in directory structure, and extending
to understand these extensions.