.nh
.TH "restic backup" "1" "Jan 2017" "generated by \fBrestic generate\fR" ""

.SH NAME
.PP
restic-diff - Show differences between two snapshots


.SH SYNOPSIS
.PP
\fBrestic diff [flags] snapshotID snapshotID\fP


.SH DESCRIPTION
.PP
The "diff" command shows differences from the first to the second snapshot. The
first characters in each line display what has happened to a particular file or
directory:

.RS
.IP \(bu 2
+  The item was added
.IP \(bu 2
-  The item was removed
.IP \(bu 2
U  The metadata (access mode, timestamps, ...) for the item was updated
.IP \(bu 2
M  The file's content was modified
.IP \(bu 2
T  The type was changed, e.g. a file was made a symlink
.IP \(bu 2
?  Bitrot detected: The file's content has changed but all metadata is the same

.RE

.PP
Metadata comparison will likely not work if a backup was created using the
\&'--ignore-inode' or '--ignore-ctime' option.

.PP
To only compare files in specific subfolders, you can use the
"snapshotID:subfolder" syntax, where "subfolder" is a path within the
snapshot.


.SH EXIT STATUS
.PP
Exit status is 0 if the command was successful.
Exit status is 1 if there was any error.
Exit status is 10 if the repository does not exist.
Exit status is 11 if the repository is already locked.


.SH OPTIONS
.PP
\fB-h\fP, \fB--help\fP[=false]
	help for diff

.PP
\fB--metadata\fP[=false]
	print changes in metadata


.SH OPTIONS INHERITED FROM PARENT COMMANDS
.PP
\fB--cacert\fP=[]
	\fBfile\fR to load root certificates from (default: use system certificates or $RESTIC_CACERT)

.PP
\fB--cache-dir\fP=""
	set the cache \fBdirectory\fR\&. (default: use system default cache directory)

.PP
\fB--cleanup-cache\fP[=false]
	auto remove old cache directories

.PP
\fB--compression\fP=auto
	compression mode (only available for repository format version 2), one of (auto|off|max) (default: $RESTIC_COMPRESSION)

.PP
\fB--http-user-agent\fP=""
	set a http user agent for outgoing http requests

.PP
\fB--insecure-no-password\fP[=false]
	use an empty password for the repository, must be passed to every restic command (insecure)

.PP
\fB--insecure-tls\fP[=false]
	skip TLS certificate verification when connecting to the repository (insecure)

.PP
\fB--json\fP[=false]
	set output mode to JSON for commands that support it

.PP
\fB--key-hint\fP=""
	\fBkey\fR ID of key to try decrypting first (default: $RESTIC_KEY_HINT)

.PP
\fB--limit-download\fP=0
	limits downloads to a maximum \fBrate\fR in KiB/s. (default: unlimited)

.PP
\fB--limit-upload\fP=0
	limits uploads to a maximum \fBrate\fR in KiB/s. (default: unlimited)

.PP
\fB--no-cache\fP[=false]
	do not use a local cache

.PP
\fB--no-extra-verify\fP[=false]
	skip additional verification of data before upload (see documentation)

.PP
\fB--no-lock\fP[=false]
	do not lock the repository, this allows some operations on read-only repositories

.PP
\fB-o\fP, \fB--option\fP=[]
	set extended option (\fBkey=value\fR, can be specified multiple times)

.PP
\fB--pack-size\fP=0
	set target pack \fBsize\fR in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE)

.PP
\fB--password-command\fP=""
	shell \fBcommand\fR to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)

.PP
\fB-p\fP, \fB--password-file\fP=""
	\fBfile\fR to read the repository password from (default: $RESTIC_PASSWORD_FILE)

.PP
\fB-q\fP, \fB--quiet\fP[=false]
	do not output comprehensive progress report

.PP
\fB-r\fP, \fB--repo\fP=""
	\fBrepository\fR to backup to or restore from (default: $RESTIC_REPOSITORY)

.PP
\fB--repository-file\fP=""
	\fBfile\fR to read the repository location from (default: $RESTIC_REPOSITORY_FILE)

.PP
\fB--retry-lock\fP=0s
	retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries)

.PP
\fB--tls-client-cert\fP=""
	path to a \fBfile\fR containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)

.PP
\fB-v\fP, \fB--verbose\fP[=0]
	be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)


.SH SEE ALSO
.PP
\fBrestic(1)\fP