# rcsmerge(1) - man - phpman

> **TLDR:** Merge RCS revisions into the working file.
>
- Merge differences between two revisions into the working file:
  `rcsmerge -r{{revision1}} -r{{revision2}} {{path/to/file}}`
- Merge changes from a branch revision into the working file:
  `rcsmerge -r{{branch_revision}} {{path/to/file}}`
- Perform a quiet merge (suppress diagnostics):
  `rcsmerge -q -r{{revision1}} -r{{revision2}} {{path/to/file}}`
- Print the result to `stdout` instead of overwriting the working file:
  `rcsmerge -p -r{{revision1}} -r{{revision2}} {{path/to/file}}`

*Source: tldr-pages*

---

[RCSMERGE(1)](https://www.chedong.com/phpMan.php/man/RCSMERGE/1/markdown)                            General Commands Manual                           [RCSMERGE(1)](https://www.chedong.com/phpMan.php/man/RCSMERGE/1/markdown)



## NAME
       rcsmerge - merge RCS revisions

## SYNOPSIS
       **rcsmerge** [_options_] _file_

## DESCRIPTION
       **rcsmerge** incorporates the changes between two revisions of an RCS file into the corresponding
       working file.

       Filenames matching an RCS suffix denote RCS files; all others denote  working  files.   Names
       are paired as explained in [**ci**(1)](https://www.chedong.com/phpMan.php/man/ci/1/markdown).

       At  least one revision must be specified with one of the options described below, usually **-r**.
       At most two revisions may be specified.  If only one revision is specified, the latest  revi‐
       sion on the default branch (normally the highest branch on the trunk) is assumed for the sec‐
       ond revision.  Revisions may be specified numerically or symbolically.

       **rcsmerge** prints a warning if there are overlaps, and delimits the overlapping regions as  ex‐
       plained  in [**merge**(1)](https://www.chedong.com/phpMan.php/man/merge/1/markdown).  The command is useful for incorporating changes into a checked-out re‐
       vision.

## OPTIONS
### -A -A
              all  changes  leading  from  _file2_ to _file3_ into _file1_, and generates the most verbose
              output.

### -E -e -A
              [**diff3**(1)](https://www.chedong.com/phpMan.php/man/diff3/1/markdown)  for details.  The default is **-E**.  With **-e**, **rcsmerge** does not warn about con‐
              flicts.

### -k
              Use  _subst_  style  keyword  substitution.   See  [**co**(1)](https://www.chedong.com/phpMan.php/man/co/1/markdown)  for  details.   For   example,
              **-kk** **-r1.1** **-r1.2**  ignores  differences  in keyword values when merging the changes from
              **1.1** to **1.2**.  It normally does not make sense to merge binary files  as  if  they  were
              text, so **rcsmerge** refuses to merge files if **-kb** expansion is used.

### -p
              Send the result to standard output instead of overwriting the working file.

### -q
              Run quietly; do not print diagnostics.

### -r
              Merge  with respect to revision _rev_.  Here an empty _rev_ stands for the latest revision
              on the default branch, normally the head.

### -T

### -V

### -V

### -x
              Use _suffixes_ to characterize RCS files.  See [**ci**(1)](https://www.chedong.com/phpMan.php/man/ci/1/markdown) for details.

### -z

## EXAMPLES
       Suppose you have released revision 2.8 of **f.c**.  Assume furthermore that after you complete an
       unreleased  revision  3.4,  you receive updates to release 2.8 from someone else.  To combine
       the updates to 2.8 and your changes between 2.8 and 3.4, put the updates to 2.8 into file f.c
       and execute

           **rcsmerge**  **-p**  **-r2.8**  **-r3.4**  **f.c**  **>f.merged.c**

       Then  examine  **f.merged.c**.   Alternatively, if you want to save the updates to 2.8 in the RCS
       file, check them in as revision 2.8.1.1 and execute **co** **-j**:

           **ci**  **-r2.8.1.1**  **f.c**
           **co**  **-r3.4**  **-j2.8:2.8.1.1**  **f.c**

       As another example, the following command undoes the changes between revision 2.4 and 2.8  in
       your currently checked out revision in **f.c**.

           **rcsmerge**  **-r2.8**  **-r2.4**  **f.c**

       Note the order of the arguments, and that **f.c** will be overwritten.

## ENVIRONMENT
       **RCSINIT**
              Options prepended to the argument list, separated by spaces.  A backslash escapes spa‐
              ces within an option.  The **RCSINIT** options are prepended to the argument lists of most
              RCS commands.  Useful **RCSINIT** options include **-q**, **-V**, **-x**, and **-z**.

       **RCS**___**MEM**___**LIMIT**
              Normally,  for  speed,  commands either memory map or copy into memory the RCS file if
              its size is less than the _memory-limit_, currently defaulting to ``unlimited''.  Other‐
              wise  (or  if  the  initially-tried speedy ways fail), the commands fall back to using
              standard i/o routines.  You can adjust the memory limit by setting **RCS**___**MEM**___**LIMIT** to  a
              numeric  value _lim_ (measured in kilobytes).  An empty value is silently ignored.  As a
              side effect, specifying **RCS**___**MEM**___**LIMIT** inhibits fall-back to slower routines.

       **TMPDIR** Name of the temporary directory.  If not set, the environment variables **TMP**  and  **TEMP**
              are  inspected  instead and the first value found is taken; if none of them are set, a
              host-dependent default is used, typically **/tmp**.

## DIAGNOSTICS
       Exit status is 0 for no overlaps, 1 for some overlaps, 2 for trouble.

## IDENTIFICATION
       Author: Walter F. Tichy.
       Manual Page Revision: 5.10.1; Release Date: 2022-02-19.
       Copyright © 2010-2022 Thien-Thi Nguyen.
       Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
       Copyright © 1982, 1988, 1989 Walter F. Tichy.

## SEE ALSO
       [**ci**(1)](https://www.chedong.com/phpMan.php/man/ci/1/markdown), [**co**(1)](https://www.chedong.com/phpMan.php/man/co/1/markdown), [**ident**(1)](https://www.chedong.com/phpMan.php/man/ident/1/markdown), [**merge**(1)](https://www.chedong.com/phpMan.php/man/merge/1/markdown), [**rcs**(1)](https://www.chedong.com/phpMan.php/man/rcs/1/markdown), [**rcsdiff**(1)](https://www.chedong.com/phpMan.php/man/rcsdiff/1/markdown), [**rlog**(1)](https://www.chedong.com/phpMan.php/man/rlog/1/markdown), [**rcsfile**(5)](https://www.chedong.com/phpMan.php/man/rcsfile/5/markdown).

       Walter F. Tichy, RCS--A System for Version Control, _Software--Practice_  _&_  _Experience_  **15**,  7
       (July 1985), 637-654.

       The  full  documentation  for  RCS is maintained as a Texinfo manual.  If the [**info**(1)](https://www.chedong.com/phpMan.php/man/info/1/markdown) 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.



GNU RCS 5.10.1                               2022-02-19                                  [RCSMERGE(1)](https://www.chedong.com/phpMan.php/man/RCSMERGE/1/markdown)
