---
name: "rcsdiff"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/rcsdiff"
---

# rcsdiff(1)

compare RCS revisions

## NAME

**rcsdiff** – compare RCS revisions

## SYNOPSIS

**rcsdiff** \[**-cnquV**\] \[**-k***mode*\] \[**-r***rev*\] \[**-x***suffixes*\] \[**-z***tz*\] \[*diff\_options*\] *file ...*

## DESCRIPTION

The **rcsdiff** program is used to compare revisions of RCS files, in much the same way as the [diff(1)](/diff/1.md) utility. Differences between two specific revisions can be requested, as well as differences between the current working file and the latest revision of the default branch.

It is not possible to display differences between entire directories, or differences between more than two files. All diffs produced are in the standard diff format, unless the **-u** option is specified, which produces unified diffs.

**rcsdiff** also supports keyword substitution – see the [rcs(1)](/rcs/1.md) man page for more information.

The following options are supported:

- **-c**

  Produces a diff with three lines of context. See [diff(1)](/diff/1.md) for more information.

- **-k***mode*

  Specify the keyword substitution mode.

- **-n**

  Produces a diff in the same format that is used in the RCS files.

- **-q**

  Be quiet about reporting.

- **-r***rev*

  Produces a diff with respect to revision *rev*. This option should be specified twice to generate a diff between two specific revisions. If only one revision is specified, diffing is done between that revision and the current working file.

- **-u**

  Produces a unified diff with three lines of context. See [diff(1)](/diff/1.md) for more information.

- **-V**

  Print RCS's version number.

- **-x***suffixes*

  Specifies the suffixes for RCS files. Suffixes should be separated by the ‘/’ character.

- **-z***tz*

  Specify the date output format.

- *diff\_options*

  Most of the options documented in [diff(1)](/diff/1.md) may also be specified.

## ENVIRONMENT

- RCSINIT

  If set, this variable should contain a list of space-delimited options that are prepended to the argument list.

- TMPDIR

  When set, this variable specifies the directory where temporary files are to be created. The default is set to */tmp*.

## EXIT STATUS

The **rcsdiff** utility exits with one of the following values:

- 0

  No differences were found.

- 1

  Differences were found.

- 2

  An error occurred.

## EXAMPLES

Compare the latest revision of the default branch with the content of working file *foo.c*:

```
$ rcsdiff foo.c
```

Compare revision 1.7 and 1.8 of file *foo.c* and ignore differences in keyword values:

```
$ rcsdiff -kk -r1.7 -r1.8 foo.c
```

## 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), [rcsclean(1)](/rcsclean/1.md), [rcsmerge(1)](/rcsmerge/1.md), [rlog(1)](/rlog/1.md)

## STANDARDS

The flag \[**-T**\] has no effect and is provided for compatibility only.
