rdiff(1) General Commands Manual rdiff(1)

# [NAME](#NAME)

rdiff - compute and apply signature-based file differences

# [SYNOPSYS](#SYNOPSYS)

```
rdiff [options] signature old-file signature-file
```

```
rdiff [options] delta signature-file new-file delta-file
```

```
rdiff [options] patch old-file delta-file new-file
```

# [USAGE](#USAGE)

You can use **rdiff** to update files, much like **rsync** does. However, unlike **rsync**, **rdiff** puts you in control. There are three steps to updating a file: **signature**, **delta**, and **patch**. Use the **signature** subcommand to generate a small *signature-file* from the *old-file*. Use the **delta** subcommand to generate a small *delta-file* from the *signature-file* to the *new-file*. Use the **patch** subcommand to apply the *delta-file* to the *old-file* to regenerate the *new-file*.

# [DESCRIPTION](#DESCRIPTION)

In every case where a filename must be specified, - may be used instead to mean either standard input or standard output as appropriate. Be aware that if you do this, you'll need to terminate your *options* with -- or **rdiff** will think you are passing it an empty option.

# [RETURN VALUE](#RETURN_VALUE)

0 for successful completion, 1 for environmental problems (file not found, invalid options, IO error, etc), 2 for a corrupt file and 3 for an internal error or unhandled situation in librsync or rdiff.

# [SEE ALSO](#SEE_ALSO)

[**librsync**(3)](/man/os/librsync/librsync.3)

# [AUTHOR](#AUTHOR)

Martin Pool &lt;mbp@sourcefrog.net&gt;

The original rsync algorithm was discovered by Andrew Tridgell.

rdiff development has been supported by Linuxcare, Inc and VA Linux Systems.

$Date$

---

Document: rdiff(1) from librsync 2.3.4-r2 (Chainguard OS)
Source: https://github.com/librsync/librsync
