- publishing free software manuals
Comparing and Merging Files with GNU diff and patch
by David MacKenzie, Paul Eggert, and Richard Stallman
Paperback (6"x9"), 120 pages
ISBN 0954161750
RRP £12.95 ($19.95)

"Well packaged... the quality of information is excellent" --- Linux User and Developer Magazine (Issue 36, Feb 2004) Get a printed copy>>>

10.4 Creating and Removing Files

Sometimes when comparing two directories, a file may exist in one directory but not the other. If you give diff the -N or --new-file option, or if you supply an old or new file that is named ‘/dev/null’ or is empty and is dated the Epoch (1970-01-01 00:00:00 UTC), diff outputs a patch that adds or deletes the contents of this file. When given such a patch, patch normally creates a new file or removes the old file. However, when conforming to POSIX (see section 10.12 patch and the POSIX Standard), patch does not remove the old file, but leaves it empty. The -E or --remove-empty-files option causes patch to remove output files that are empty after applying a patch, even if the patch does not appear to be one that removed the file.

If the patch appears to create a file that already exists, patch asks for confirmation before applying the patch.

ISBN 0954161750Comparing and Merging Files with GNU diff and patchSee the print edition