rej tries to merge simple rejects and then run a merge program so the changes can be verified. It is not meant to resolve complex problems that would not be immediately obvious to the programmer, the goal instead is to quickly fix the easy problems. rej understands both unified and context diffs. There are four basic rejects fixable via rej. 1) missing context at the top or bottom of the hunk 2) different context in the middle of the hunk 3) slightly different lines removed by the hunk than exist in the file 4) Large hunks that might apply if they were broken up into smaller ones. rej also allows you to tag hunks in a reject with special processing hints. Those are defined in the HUNK HINTS section below. [ USAGE: ] rej filename filename.rej This will merge filename.rej into filename, and then start the default merge program (gvimdiff) to compare them. Look at vimrc in this directory for vimdiff commands to copy chunks from one vimdiff window to another. rej -m kdiff3 filename filename.rej Same as above, but will use kdiff3 instead of gvimdiff. Almost any merging program can be supplied to -m, vimdiff, kdiff3, meld and tkdiff have been tested. Defining $REJMERGE in your environment will do the same as -m. rej -o output_file filename filename.rej -o skips the merge program and just stores the merged stream into output_file -a will turn on auto mode, which stores the merge stream directly back into filename. filename.mergebackup is created with the old file contents. The merge program is run showing the differences between filename and filename.mergebackup. Use this mode with caution. -c will turn on context mode, which prefers context from the reject file over context in the source. This might make it more clear what the reject was trying to do, but will make the differences between the source file and the merge stream larger. -i enables interactive mode, which lets you repeat the merge over again after tweaking the source or reject file. Type help for the various commands. -r opens the reject in $REJEDITOR or $EDITOR or gvim automatically There are few more options, see rej -h for the details. rej allows for some lazy typing. "rej filename" will guess the name of the reject file. "rej filename.rej" will guess the name of the source file. [ HUNK HINTS ] Hints allow you to specify special instructions for each hunk. The hints are appended on the end of the first line of the hunk, using '###' as the control sequence that signals the start of the hint. Hints can be given in any order and should be separated by whitespace. The supported hints are: only -- process only this hunk, ignoring every other hunk last -- stop processing after this hunk context -- enable -c for this hunk only exclude -- skip this hunk completely but continue processing others Example hinted unified hunk: @@ -2675,21 +2673,33 @@ static int foo( ### only context For context hunks: *** 961,971 **** ### exclude