Merging with patch (Comparing and Merging Files) (original) (raw)

Next: Tips for Making and Using Patches, Previous: Interactive Merging with sdiff, Up: Comparing and Merging Files [Contents][Index]


patch takes comparison output produced by diff and applies the differences to a copy of the original file, producing a patched version. With patch, you can distribute just the changes to a set of files instead of distributing the entire file set; your correspondents can apply patch to update their copy of the files with your changes. patch automatically determines the diff format, skips any leading or trailing headers, and uses the headers to determine which file to patch. This lets your correspondents feed a mail message containing a difference listing directly topatch.

patch detects and warns about common problems like forward patches. It saves any patches that it could not apply. It can also maintain apatchlevel.h file to ensure that your correspondents apply diffs in the proper order.

patch accepts a series of diffs in its standard input, usually separated by headers that specify which file to patch. It appliesdiff hunks (see Hunks) one by one. If a hunk does not exactly match the original file, patch uses heuristics to try to patch the file as well as it can. If no approximate match can be found,patch rejects the hunk and skips to the next hunk. patchnormally replaces each file f with its new version, putting reject hunks (if any) into ‘f.rej’.

See Invoking patch, for detailed information on the options topatch.