rcsmerge

Merge RCS file revisions

TLDR

Merge revisions into working file
$ rcsmerge -r[1.1] -r[1.2] [file]
Merge specific revision
$ rcsmerge -r[1.3] [file]
Print to stdout
$ rcsmerge -p -r[1.1] -r[1.2] [file]
Quiet mode
$ rcsmerge -q -r[1.1] -r[1.2] [file]

SYNOPSIS

rcsmerge [-p] [-r rev1] [-r rev2] [options] file

DESCRIPTION

rcsmerge performs a three-way merge of RCS file revisions, incorporating changes made between two specified revisions into the current working file. It identifies a common ancestor revision and applies the differences to produce a merged result, similar to how modern version control systems handle branch merging.By default the merge modifies the working file in place, but the -p flag prints the merged result to stdout instead. When conflicting changes are detected, conflict markers are inserted into the output and must be resolved manually before the file can be checked back in.

PARAMETERS

-r REV

Revision to merge. An empty rev stands for the latest revision on the default branch.
-p
Send result to stdout instead of overwriting the working file.
-q
Quiet mode; do not print diagnostics.
-A
Output conflicts using the -A style of diff3(1).
-E
Output conflicts using the -E style of diff3(1) (default).
-e
Output conflicts using the -e style of diff3(1). Does not warn about conflicts.
-k SUBST
Keyword substitution mode (e.g., -kk ignores keyword value differences).
-V N
RCS version emulation.

INSTALL

sudo apt install rcs
sudo dnf install rcs
sudo pacman -S rcs
sudo apk add rcs
sudo zypper install rcs
brew install rcs
nix profile install nixpkgs#rcs

CAVEATS

RCS is a legacy version control system. Conflicts are marked inline and must be resolved manually. Exit status is 0 for no overlaps, 1 for overlaps, and 2 for errors. Consider Git for new projects.

HISTORY

rcsmerge is part of RCS (Revision Control System), created by Walter Tichy in 1982 at Purdue University.

SEE ALSO

rcs(1), rcsdiff(1), merge(1), ci(1), co(1), rlog(1)