---
name: "rcsdiff"
section: "1"
platform: "linux"
package: "rcs"
version: "5.10.1-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/rcsdiff"
---

# rcsdiff(1)

compare RCS revisions

## NAME

rcsdiff - compare RCS revisions

## SYNOPSIS

**rcsdiff** \[ **-k***subst* \] \[ **-q** \] \[ **-r***rev1* \[ **-r***rev2* \] \] \[ **-T** \] \[ **-V**\[*n*\] \] \[ **-x***suffixes* \] \[ **-z***zone* \] \[ *diff options* \] *file ...*

## DESCRIPTION

**rcsdiff** runs [**diff**(1)](/diff/1.md) to compare two revisions of each RCS file given.

Filenames matching an RCS suffix denote RCS files; all others denote working files. Names are paired as explained in [**ci**(1)](/ci/1.md).

The option **-q** suppresses diagnostic output. Zero, one, or two revisions may be specified with **-r**. The option **-k***subst* affects keyword substitution when extracting revisions, as described in [**co**(1)](/co/1.md); for example, **-kk -r1.1 -r1.2** ignores differences in keyword values when comparing revisions **1.1** and **1.2**. To avoid excess output from locker name substitution, **-kkvl** is assumed if (1) at most one revision option is given, (2) no **-k** option is given, (3) **-kkv** is the default keyword substitution, and (4) the working file's mode would be produced by **co -l**. See [**co**(1)](/co/1.md) for details about **-T**, **-V**, **-x** and **-z**. Otherwise, all options of [**diff**(1)](/diff/1.md) that apply to regular files are accepted, with the same meaning as for **diff**.

If both *rev1* and *rev2* are omitted, **rcsdiff** compares the latest revision on the default branch (by default the trunk) with the contents of the corresponding working file.  This is useful for determining what you changed since the last checkin.

If *rev1* is given, but *rev2* is omitted, **rcsdiff** compares revision *rev1* of the RCS file with the contents of the corresponding working file.

If both *rev1* and *rev2* are given, **rcsdiff** compares revisions *rev1* and *rev2* of the RCS file.

Both *rev1* and *rev2* may be given numerically or symbolically.

## EXAMPLE

The command

        **rcsdiff  f.c**

compares the latest revision on the default branch of the RCS file to the contents of the working file **f.c**.

## ENVIRONMENT

- **RCSINIT**

  Options prepended to the argument list, separated by spaces. A backslash escapes spaces 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''. Otherwise (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 differences during any comparison, 1 for some differences, 2 for trouble.

## IDENTIFICATION

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

## SEE ALSO

[**ci**(1)](/ci/1.md), [**co**(1)](/co/1.md), [**diff**(1)](/diff/1.md), [**ident**(1)](/ident/1.md), [**rcs**(1)](/rcs/1.md), [**rcsmerge**(1)](/rcsmerge/1.md), [**rlog**(1)](/rlog/1.md).

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)](/info/1.md) 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.
