MERGE(1)

πŸ’… MERGE(1) β€” like, the manual page, but make it make sense

okay so first things first: this is a General Commands Manual page, section 1, and the command is literally called merge. yes, that's the whole name. we love a minimal queen. πŸŽ€


✨ NAME ✨

merge β€” three-way file merge. that's it. that's the tweet. πŸ¦‹


🌸 SYNOPSIS 🌸

merge [ options ] file1 file2 file3

three files, bestie. three. count 'em. 🫢


πŸ’– DESCRIPTION πŸ’–

okay so here's the vibe: merge takes all the changes that lead from file2 to file3 and incorporates them into file1. the result ordinarily goes into file1. no cap.

it's giving "combining separate changes to an original." picture this: file2 is the original, and file1 and file3 are both modifications of file2. then merge combines both changes. both. at once. main character energy fr fr. ✨

now, 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. yes, you. you gotta do it. it's giving homework but make it git-adjacent. 😭


πŸ”₯ 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. like, the yapper of conflict styles. πŸ’€
  • -E, -e β€” these options specify conflict styles that generate less information than -A. see diff3(1) for details. the default is -E. and with -e, merge does not warn about conflicts. icon behaviour honestly. 🀫
  • -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. glow-up via rebranding, lowkey. πŸ‘‘
  • -p β€” send results to standard output instead of overwriting file1. no touchy the original. πŸ’…
  • -q β€” quiet; do not warn about conflicts. shhh. we're being chill about it. πŸ“
  • -V β€” print RCS's version number. that's it. that's the whole thing. ⭐

πŸ¦‹ DIAGNOSTICS πŸ¦‹

exit status is:

  • 0 β€” no conflicts. slay.
  • 1 β€” some conflicts. okay, we have notes.
  • 2 β€” trouble. 😭

🌈 IDENTIFICATION 🌈

  • Author: Walter F. Tichy.
  • Manual Page Revision: 5.10.1; Release Date: 2024-10-01.
  • Copyright Β© 2010-2022 Thien-Thi Nguyen.
  • Copyright Β© 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
  • Copyright Β© 1982, 1988, 1989 Walter F. Tichy.

πŸ’œ SEE ALSO πŸ’œ

the full documentation for RCS is maintained as a Texinfo manual. if the info(1) and RCS programs are properly installed at your site, the command

info rcs

should give you access to the complete manual. additionally, the RCS homepage:

http://www.gnu.org/software/rcs/

has news and links to the latest release, development site, etc. go browse, bestie. 🧚


πŸ™ˆ BUGS πŸ™ˆ

it normally does not make sense to merge binary files as if they were text, but merge tries to do it anyway. like, it knows it shouldn't. and yet. πŸ’€

okay that's the whole page, you're fully caught up. this was GNU RCS 5.10.1, dated 2024-10-01, and it's still out here being MERGE(1) in the General Commands Manual. mwah πŸ’‹ β€” go merge something, you got this. 🌸✨

πŸ“¦ where this page comes from