merge incorporates all changes that lead from
file2 to
file3 into
file1 . The result ordinarily goes into
file1 . merge is useful for combining separate changes to an original. Suppose
file2 is the original, and both
file1 and
file3 are modifications of
file2 . Then
merge combines both changes.
A conflict occurs if both
file1 and
file3 have changes in a common segment of lines.
If a conflict is found,
merge normally outputs a warning and brackets the conflict with
<<<<<<< and
>>>>>>> lines.
A typical conflict will look like this:
<<<<<<< file A
"lines in file A" ======= "lines in file B" >>>>>>> file B
If there are conflicts, the user should edit the result and delete one of the
alternatives.
OPTIONS
-A
Output conflicts using the -A style of diff3(1) , if supported by diff3 . This merges all changes leading from file2 to file3 into file1 , and generates the most verbose output.
<3>-E3>, <3>-e3>
These options specify conflict styles that generate less information
than -A . See diff3(1) for details.
The default is -E . With -e , merge does not warn about conflicts.
-L label
This option may be given up to three times, and specifies labels
to be used in place of the corresponding file names in conflict reports.
That is, merge\ -L\ x\ -L\ y\ -L\ z\ a\ b\ c generates output that looks like it came from files x , y and z instead of from files a , b and c .
-p
Send results to standard output instead of overwriting file1 .
-q
Quiet; do not warn about conflicts. -V Print r's version number.
DIAGNOSTICS
Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble.