diff --git a/doc/bash-completion.sh b/doc/bash-completion.sh index a5a94050e..1bad0e2ac 100644 --- a/doc/bash-completion.sh +++ b/doc/bash-completion.sh @@ -269,8 +269,11 @@ _restic_backup() local_nonpersistent_flags+=("--tag=") flags+=("--time=") local_nonpersistent_flags+=("--time=") + flags+=("--with-atime") + local_nonpersistent_flags+=("--with-atime") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -306,6 +309,7 @@ _restic_cat() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -347,6 +351,45 @@ _restic_check() local_nonpersistent_flags+=("--with-cache") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") + flags+=("--json") + flags+=("--limit-download=") + flags+=("--limit-upload=") + flags+=("--no-cache") + flags+=("--no-lock") + flags+=("--option=") + two_word_flags+=("-o") + flags+=("--password-file=") + two_word_flags+=("-p") + flags+=("--quiet") + flags+=("-q") + flags+=("--repo=") + two_word_flags+=("-r") + + must_have_one_flag=() + must_have_one_noun=() + noun_aliases=() +} + +_restic_diff() +{ + last_command="restic_diff" + commands=() + + flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + + flags+=("--help") + flags+=("-h") + local_nonpersistent_flags+=("--help") + flags+=("--metadata") + local_nonpersistent_flags+=("--metadata") + flags+=("--cacert=") + flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -389,6 +432,7 @@ _restic_dump() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -446,6 +490,7 @@ _restic_find() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -520,6 +565,7 @@ _restic_forget() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -561,6 +607,7 @@ _restic_generate() local_nonpersistent_flags+=("--zsh-completion=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -596,6 +643,7 @@ _restic_init() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -631,6 +679,7 @@ _restic_key() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -666,6 +715,7 @@ _restic_list() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -711,6 +761,7 @@ _restic_ls() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -749,6 +800,7 @@ _restic_migrate() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -797,6 +849,7 @@ _restic_mount() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -832,6 +885,7 @@ _restic_prune() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -867,6 +921,7 @@ _restic_rebuild-index() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -918,6 +973,7 @@ _restic_restore() local_nonpersistent_flags+=("--target=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -965,6 +1021,7 @@ _restic_snapshots() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -1013,6 +1070,7 @@ _restic_tag() local_nonpersistent_flags+=("--tag=") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -1050,6 +1108,7 @@ _restic_unlock() local_nonpersistent_flags+=("--remove-all") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -1085,6 +1144,7 @@ _restic_version() local_nonpersistent_flags+=("--help") flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--json") flags+=("--limit-download=") flags+=("--limit-upload=") @@ -1111,6 +1171,7 @@ _restic() commands+=("backup") commands+=("cat") commands+=("check") + commands+=("diff") commands+=("dump") commands+=("find") commands+=("forget") @@ -1137,6 +1198,7 @@ _restic() flags+=("--cacert=") flags+=("--cache-dir=") + flags+=("--cleanup-cache") flags+=("--help") flags+=("-h") local_nonpersistent_flags+=("--help") diff --git a/doc/man/restic-backup.1 b/doc/man/restic-backup.1 index 4143ccbbc..82931284b 100644 --- a/doc/man/restic-backup.1 +++ b/doc/man/restic-backup.1 @@ -76,6 +76,10 @@ given as the arguments. \fB\-\-time\fP="" time of the backup (ex. '2012\-11\-01 22:08:41') (default: now) +.PP +\fB\-\-with\-atime\fP[=false] + store the atime for all files and directories + .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP @@ -86,6 +90,10 @@ given as the arguments. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-cat.1 b/doc/man/restic-cat.1 index 4bfced166..9c5ba1f6e 100644 --- a/doc/man/restic-cat.1 +++ b/doc/man/restic-cat.1 @@ -33,6 +33,10 @@ The "cat" command is used to print internal objects to stdout. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-check.1 b/doc/man/restic-check.1 index 6bcf174af..fc05cd890 100644 --- a/doc/man/restic-check.1 +++ b/doc/man/restic-check.1 @@ -50,6 +50,10 @@ repository and not use a local cache. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-diff.1 b/doc/man/restic-diff.1 new file mode 100644 index 000000000..c0e6e80f7 --- /dev/null +++ b/doc/man/restic-diff.1 @@ -0,0 +1,92 @@ +.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" "" +.nh +.ad l + + +.SH NAME +.PP +restic\-diff \- Show differences between two snapshots + + +.SH SYNOPSIS +.PP +\fBrestic diff snapshot\-ID snapshot\-ID [flags]\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: +.IP \(bu 2 +The item was added +.IP \(bu 2 +The item was removed +U The metadata (access mode, timestamps, ...) for the item was updated +M The file's content was modified +T The type was changed, e.g. a file was made a symlink + + +.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=[] + path to load root certificates from (default: use system certificates) + +.PP +\fB\-\-cache\-dir\fP="" + set the cache directory + +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + +.PP +\fB\-\-json\fP[=false] + set output mode to JSON for commands that support it + +.PP +\fB\-\-limit\-download\fP=0 + limits downloads to a maximum rate in KiB/s. (default: unlimited) + +.PP +\fB\-\-limit\-upload\fP=0 + limits uploads to a maximum rate in KiB/s. (default: unlimited) + +.PP +\fB\-\-no\-cache\fP[=false] + do not use a local cache + +.PP +\fB\-\-no\-lock\fP[=false] + do not lock the repo, this allows some operations on read\-only repos + +.PP +\fB\-o\fP, \fB\-\-option\fP=[] + set extended option (\fB\fCkey=value\fR, can be specified multiple times) + +.PP +\fB\-p\fP, \fB\-\-password\-file\fP="" + read the repository password from a file (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="" + repository to backup to or restore from (default: $RESTIC\_REPOSITORY) + + +.SH SEE ALSO +.PP +\fBrestic(1)\fP diff --git a/doc/man/restic-dump.1 b/doc/man/restic-dump.1 index 0eac63edd..9877c4d29 100644 --- a/doc/man/restic-dump.1 +++ b/doc/man/restic-dump.1 @@ -50,6 +50,10 @@ repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-find.1 b/doc/man/restic-find.1 index f838ce41f..691ffdc84 100644 --- a/doc/man/restic-find.1 +++ b/doc/man/restic-find.1 @@ -66,6 +66,10 @@ repo. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-forget.1 b/doc/man/restic-forget.1 index d2a6dd352..b0a6a4b95 100644 --- a/doc/man/restic-forget.1 +++ b/doc/man/restic-forget.1 @@ -96,6 +96,10 @@ data after 'forget' was run successfully, see the 'prune' command. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-generate.1 b/doc/man/restic-generate.1 index 6f7227df8..5e8fc4739 100644 --- a/doc/man/restic-generate.1 +++ b/doc/man/restic-generate.1 @@ -46,6 +46,10 @@ and the auto\-completion files for bash and zsh). \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-init.1 b/doc/man/restic-init.1 index a89ccaaa5..704052f3e 100644 --- a/doc/man/restic-init.1 +++ b/doc/man/restic-init.1 @@ -33,6 +33,10 @@ The "init" command initializes a new repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-key.1 b/doc/man/restic-key.1 index bf1515113..8e8b51627 100644 --- a/doc/man/restic-key.1 +++ b/doc/man/restic-key.1 @@ -33,6 +33,10 @@ The "key" command manages keys (passwords) for accessing the repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-list.1 b/doc/man/restic-list.1 index faf77939a..55500c461 100644 --- a/doc/man/restic-list.1 +++ b/doc/man/restic-list.1 @@ -33,6 +33,10 @@ The "list" command allows listing objects in the repository based on type. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-ls.1 b/doc/man/restic-ls.1 index b5bf14b05..12c91d6ca 100644 --- a/doc/man/restic-ls.1 +++ b/doc/man/restic-ls.1 @@ -52,6 +52,10 @@ The special snapshot\-ID "latest" can be used to list files and directories of t \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-migrate.1 b/doc/man/restic-migrate.1 index 37e7002be..40458c362 100644 --- a/doc/man/restic-migrate.1 +++ b/doc/man/restic-migrate.1 @@ -38,6 +38,10 @@ name is explicitly given, a list of migrations that can be applied is printed. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-mount.1 b/doc/man/restic-mount.1 index 31f939031..33d7714ba 100644 --- a/doc/man/restic-mount.1 +++ b/doc/man/restic-mount.1 @@ -58,6 +58,10 @@ read\-only mount. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-prune.1 b/doc/man/restic-prune.1 index ccecbf2d7..8379852b9 100644 --- a/doc/man/restic-prune.1 +++ b/doc/man/restic-prune.1 @@ -34,6 +34,10 @@ referenced and therefore not needed any more. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-rebuild-index.1 b/doc/man/restic-rebuild-index.1 index c0782976f..0c8d484c2 100644 --- a/doc/man/restic-rebuild-index.1 +++ b/doc/man/restic-rebuild-index.1 @@ -34,6 +34,10 @@ repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-restore.1 b/doc/man/restic-restore.1 index 0a764cfb8..8c554eeaa 100644 --- a/doc/man/restic-restore.1 +++ b/doc/man/restic-restore.1 @@ -62,6 +62,10 @@ repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-snapshots.1 b/doc/man/restic-snapshots.1 index 7f45e87d4..a858dab2f 100644 --- a/doc/man/restic-snapshots.1 +++ b/doc/man/restic-snapshots.1 @@ -53,6 +53,10 @@ The "snapshots" command lists all snapshots stored in the repository. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-tag.1 b/doc/man/restic-tag.1 index 0d830a656..0d45c82bf 100644 --- a/doc/man/restic-tag.1 +++ b/doc/man/restic-tag.1 @@ -64,6 +64,10 @@ When no snapshot\-ID is given, all snapshots matching the host, tag and path fil \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-unlock.1 b/doc/man/restic-unlock.1 index 5b4642a53..9c7decbfa 100644 --- a/doc/man/restic-unlock.1 +++ b/doc/man/restic-unlock.1 @@ -37,6 +37,10 @@ The "unlock" command removes stale locks that have been created by other restic \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic-version.1 b/doc/man/restic-version.1 index 37315d319..fb6ec9172 100644 --- a/doc/man/restic-version.1 +++ b/doc/man/restic-version.1 @@ -34,6 +34,10 @@ and the version of this software. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-\-json\fP[=false] set output mode to JSON for commands that support it diff --git a/doc/man/restic.1 b/doc/man/restic.1 index 13ae86757..bb238d3da 100644 --- a/doc/man/restic.1 +++ b/doc/man/restic.1 @@ -28,6 +28,10 @@ directories in an encrypted repository stored on different backends. \fB\-\-cache\-dir\fP="" set the cache directory +.PP +\fB\-\-cleanup\-cache\fP[=false] + auto remove old cache directories + .PP \fB\-h\fP, \fB\-\-help\fP[=false] help for restic @@ -71,4 +75,4 @@ directories in an encrypted repository stored on different backends. .SH SEE ALSO .PP -\fBrestic\-backup(1)\fP, \fBrestic\-cat(1)\fP, \fBrestic\-check(1)\fP, \fBrestic\-dump(1)\fP, \fBrestic\-find(1)\fP, \fBrestic\-forget(1)\fP, \fBrestic\-generate(1)\fP, \fBrestic\-init(1)\fP, \fBrestic\-key(1)\fP, \fBrestic\-list(1)\fP, \fBrestic\-ls(1)\fP, \fBrestic\-migrate(1)\fP, \fBrestic\-mount(1)\fP, \fBrestic\-prune(1)\fP, \fBrestic\-rebuild\-index(1)\fP, \fBrestic\-restore(1)\fP, \fBrestic\-snapshots(1)\fP, \fBrestic\-tag(1)\fP, \fBrestic\-unlock(1)\fP, \fBrestic\-version(1)\fP +\fBrestic\-backup(1)\fP, \fBrestic\-cat(1)\fP, \fBrestic\-check(1)\fP, \fBrestic\-diff(1)\fP, \fBrestic\-dump(1)\fP, \fBrestic\-find(1)\fP, \fBrestic\-forget(1)\fP, \fBrestic\-generate(1)\fP, \fBrestic\-init(1)\fP, \fBrestic\-key(1)\fP, \fBrestic\-list(1)\fP, \fBrestic\-ls(1)\fP, \fBrestic\-migrate(1)\fP, \fBrestic\-mount(1)\fP, \fBrestic\-prune(1)\fP, \fBrestic\-rebuild\-index(1)\fP, \fBrestic\-restore(1)\fP, \fBrestic\-snapshots(1)\fP, \fBrestic\-tag(1)\fP, \fBrestic\-unlock(1)\fP, \fBrestic\-version(1)\fP diff --git a/doc/zsh-completion.zsh b/doc/zsh-completion.zsh index a21f28ccf..cd979180d 100644 --- a/doc/zsh-completion.zsh +++ b/doc/zsh-completion.zsh @@ -7,7 +7,7 @@ case $state in level1) case $words[1] in restic) - _arguments '1: :(backup cat check dump find forget generate help init key list ls migrate mount options prune rebuild-index restore snapshots tag unlock version)' + _arguments '1: :(backup cat check diff dump find forget generate help init key list ls migrate mount options prune rebuild-index restore snapshots tag unlock version)' ;; *) _arguments '*: :_files'