---
name: "merge"
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/merge"
---

# merge(1)

3-way file merge

## NAME

**merge** – 3-way file merge

## SYNOPSIS

**merge** \[**-EepqV**\] \[**-L** *label*\] *file1* *file2* *file3*

## DESCRIPTION

The **merge** program merges changes leading from *file2* to *file3* into *file1*.

The following options are supported:

- **-E**

  Default merge: see [diff3(1)](/diff3/1.md) for details.

- **-e**

  Same as **-E** but does not warn about conflicts.

- **-L** *label*

  Specifies labels to be used in place of corresponding file names in conflict reports. May be given up to three times.

- **-p**

  Print result to standard output.

- **-q**

  Be quiet about reporting.

- **-V**

  Print RCS's version number.

## EXIT STATUS

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

- 0

  No overlaps.

- 1

  Overlaps were found.

- 2

  An error occurred.

## EXAMPLES

Using labels:

```
$ merge -q -p -L one -L two -L three file1 file2 file3
<<<<<<< one
=======
bar
>>>>>>> three
```

## SEE ALSO

[co(1)](/co/1.md), [diff(1)](/diff/1.md), [diff3(1)](/diff3/1.md), [rcsmerge(1)](/rcsmerge/1.md)

## STANDARDS

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