diff options
-rw-r--r-- | cmd/restic/cmd_self_update.go | 87 | ||||
-rw-r--r-- | cmd/restic/main.go | 2 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debian/patches/remove-self-update.patch | 343 | ||||
-rw-r--r-- | debian/patches/series | 1 | ||||
-rw-r--r-- | doc/bash-completion.sh | 70 | ||||
-rw-r--r-- | doc/man/restic-self-update.1 | 129 | ||||
-rw-r--r-- | doc/man/restic.1 | 2 | ||||
-rw-r--r-- | doc/manual_rest.rst | 1 |
9 files changed, 352 insertions, 289 deletions
diff --git a/cmd/restic/cmd_self_update.go b/cmd/restic/cmd_self_update.go deleted file mode 100644 index 4b86c416f..000000000 --- a/cmd/restic/cmd_self_update.go +++ /dev/null @@ -1,87 +0,0 @@ -//go:build selfupdate - -package main - -import ( - "context" - "os" - "path/filepath" - - "github.com/restic/restic/internal/errors" - "github.com/restic/restic/internal/selfupdate" - "github.com/spf13/cobra" -) - -var cmdSelfUpdate = &cobra.Command{ - Use: "self-update [flags]", - Short: "Update the restic binary", - Long: ` -The command "self-update" downloads the latest stable release of restic from -GitHub and replaces the currently running binary. After download, the -authenticity of the binary is verified using the GPG signature on the release -files. - -EXIT STATUS -=========== - -Exit status is 0 if the command was successful, and non-zero if there was any error. -`, - DisableAutoGenTag: true, - RunE: func(cmd *cobra.Command, args []string) error { - return runSelfUpdate(cmd.Context(), selfUpdateOptions, globalOptions, args) - }, -} - -// SelfUpdateOptions collects all options for the update-restic command. -type SelfUpdateOptions struct { - Output string -} - -var selfUpdateOptions SelfUpdateOptions - -func init() { - cmdRoot.AddCommand(cmdSelfUpdate) - - flags := cmdSelfUpdate.Flags() - flags.StringVar(&selfUpdateOptions.Output, "output", "", "Save the downloaded file as `filename` (default: running binary itself)") -} - -func runSelfUpdate(ctx context.Context, opts SelfUpdateOptions, gopts GlobalOptions, args []string) error { - if opts.Output == "" { - file, err := os.Executable() - if err != nil { - return errors.Wrap(err, "unable to find executable") - } - - opts.Output = file - } - - fi, err := os.Lstat(opts.Output) - if err != nil { - dirname := filepath.Dir(opts.Output) - di, err := os.Lstat(dirname) - if err != nil { - return err - } - if !di.Mode().IsDir() { - return errors.Fatalf("output parent path %v is not a directory, use --output to specify a different file path", dirname) - } - } else { - if !fi.Mode().IsRegular() { - return errors.Fatalf("output path %v is not a normal file, use --output to specify a different file path", opts.Output) - } - } - - Verbosef("writing restic to %v\n", opts.Output) - - v, err := selfupdate.DownloadLatestStableRelease(ctx, opts.Output, version, Verbosef) - if err != nil { - return errors.Fatalf("unable to update restic: %v", err) - } - - if v != version { - Printf("successfully updated restic to version %v\n", v) - } - - return nil -} diff --git a/cmd/restic/main.go b/cmd/restic/main.go index 4595e8161..c2efc69c7 100644 --- a/cmd/restic/main.go +++ b/cmd/restic/main.go @@ -80,7 +80,7 @@ The full documentation can be found at https://restic.readthedocs.io/ . // user for authentication). func needsPassword(cmd string) bool { switch cmd { - case "cache", "generate", "help", "options", "self-update", "version", "__complete": + case "cache", "generate", "help", "options", "version", "__complete": return false default: return true diff --git a/debian/changelog b/debian/changelog index b1b20bfb9..40f3ccac2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +restic (0.16.4-2) unstable; urgency=medium + + * add patch to remove self-update (Closes: #1062806) + + -- Félix Sipma <felix@debian.org> Fri, 09 Feb 2024 14:15:37 +0100 + restic (0.16.4-1) unstable; urgency=medium * New upstream version 0.16.4 diff --git a/debian/patches/remove-self-update.patch b/debian/patches/remove-self-update.patch new file mode 100644 index 000000000..65faf932f --- /dev/null +++ b/debian/patches/remove-self-update.patch @@ -0,0 +1,343 @@ +Description: remove self-update functionality +Author: Félix Sipma <felix@debian.org> +Forwarded: not-needed +Last-Update: 2024-02-09 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/doc/manual_rest.rst ++++ b/doc/manual_rest.rst +@@ -39,7 +39,6 @@ Usage help is available: + repair Repair the repository + restore Extract the data from a snapshot + rewrite Rewrite snapshots to exclude unwanted files +- self-update Update the restic binary + snapshots List all snapshots + stats Scan the repository and show basic statistics + tag Modify tags on snapshots +--- a/doc/man/restic.1 ++++ b/doc/man/restic.1 +@@ -116,4 +116,4 @@ The full documentation can be found at h + + .SH SEE ALSO + .PP +-\fBrestic-backup(1)\fP, \fBrestic-cache(1)\fP, \fBrestic-cat(1)\fP, \fBrestic-check(1)\fP, \fBrestic-copy(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-recover(1)\fP, \fBrestic-repair(1)\fP, \fBrestic-restore(1)\fP, \fBrestic-rewrite(1)\fP, \fBrestic-self-update(1)\fP, \fBrestic-snapshots(1)\fP, \fBrestic-stats(1)\fP, \fBrestic-tag(1)\fP, \fBrestic-unlock(1)\fP, \fBrestic-version(1)\fP ++\fBrestic-backup(1)\fP, \fBrestic-cache(1)\fP, \fBrestic-cat(1)\fP, \fBrestic-check(1)\fP, \fBrestic-copy(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-recover(1)\fP, \fBrestic-repair(1)\fP, \fBrestic-restore(1)\fP, \fBrestic-rewrite(1)\fP, \fBrestic-snapshots(1)\fP, \fBrestic-stats(1)\fP, \fBrestic-tag(1)\fP, \fBrestic-unlock(1)\fP, \fBrestic-version(1)\fP +--- a/doc/man/restic-self-update.1 ++++ /dev/null +@@ -1,129 +0,0 @@ +-.nh +-.TH "restic backup" "1" "Jan 2017" "generated by \fBrestic generate\fR" "" +- +-.SH NAME +-.PP +-restic-self-update - Update the restic binary +- +- +-.SH SYNOPSIS +-.PP +-\fBrestic self-update [flags]\fP +- +- +-.SH DESCRIPTION +-.PP +-The command "self-update" downloads the latest stable release of restic from +-GitHub and replaces the currently running binary. After download, the +-authenticity of the binary is verified using the GPG signature on the release +-files. +- +- +-.SH EXIT STATUS +-.PP +-Exit status is 0 if the command was successful, and non-zero if there was any error. +- +- +-.SH OPTIONS +-.PP +-\fB-h\fP, \fB--help\fP[=false] +- help for self-update +- +-.PP +-\fB--output\fP="" +- Save the downloaded file as \fBfilename\fR (default: running binary itself) +- +- +-.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--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 +--- a/doc/bash-completion.sh ++++ b/doc/bash-completion.sh +@@ -2608,75 +2608,6 @@ _restic_rewrite() + noun_aliases=() + } + +-_restic_self-update() +-{ +- last_command="restic_self-update" +- +- command_aliases=() +- +- commands=() +- +- flags=() +- two_word_flags=() +- local_nonpersistent_flags=() +- flags_with_completion=() +- flags_completion=() +- +- flags+=("--help") +- flags+=("-h") +- local_nonpersistent_flags+=("--help") +- local_nonpersistent_flags+=("-h") +- flags+=("--output=") +- two_word_flags+=("--output") +- local_nonpersistent_flags+=("--output") +- local_nonpersistent_flags+=("--output=") +- flags+=("--cacert=") +- two_word_flags+=("--cacert") +- flags+=("--cache-dir=") +- two_word_flags+=("--cache-dir") +- flags+=("--cleanup-cache") +- flags+=("--compression=") +- two_word_flags+=("--compression") +- flags+=("--insecure-tls") +- flags+=("--json") +- flags+=("--key-hint=") +- two_word_flags+=("--key-hint") +- flags+=("--limit-download=") +- two_word_flags+=("--limit-download") +- flags+=("--limit-upload=") +- two_word_flags+=("--limit-upload") +- flags+=("--no-cache") +- flags+=("--no-extra-verify") +- flags+=("--no-lock") +- flags+=("--option=") +- two_word_flags+=("--option") +- two_word_flags+=("-o") +- flags+=("--pack-size=") +- two_word_flags+=("--pack-size") +- flags+=("--password-command=") +- two_word_flags+=("--password-command") +- flags+=("--password-file=") +- two_word_flags+=("--password-file") +- two_word_flags+=("-p") +- flags+=("--quiet") +- flags+=("-q") +- flags+=("--repo=") +- two_word_flags+=("--repo") +- two_word_flags+=("-r") +- flags+=("--repository-file=") +- two_word_flags+=("--repository-file") +- flags+=("--retry-lock=") +- two_word_flags+=("--retry-lock") +- flags+=("--tls-client-cert=") +- two_word_flags+=("--tls-client-cert") +- flags+=("--verbose") +- flags+=("-v") +- +- must_have_one_flag=() +- must_have_one_noun=() +- noun_aliases=() +-} +- + _restic_snapshots() + { + last_command="restic_snapshots" +@@ -3105,7 +3036,6 @@ _restic_root_command() + commands+=("repair") + commands+=("restore") + commands+=("rewrite") +- commands+=("self-update") + commands+=("snapshots") + commands+=("stats") + commands+=("tag") +--- a/cmd/restic/main.go ++++ b/cmd/restic/main.go +@@ -80,7 +80,7 @@ The full documentation can be found at h + // user for authentication). + func needsPassword(cmd string) bool { + switch cmd { +- case "cache", "generate", "help", "options", "self-update", "version", "__complete": ++ case "cache", "generate", "help", "options", "version", "__complete": + return false + default: + return true +--- a/cmd/restic/cmd_self_update.go ++++ /dev/null +@@ -1,87 +0,0 @@ +-//go:build selfupdate +- +-package main +- +-import ( +- "context" +- "os" +- "path/filepath" +- +- "github.com/restic/restic/internal/errors" +- "github.com/restic/restic/internal/selfupdate" +- "github.com/spf13/cobra" +-) +- +-var cmdSelfUpdate = &cobra.Command{ +- Use: "self-update [flags]", +- Short: "Update the restic binary", +- Long: ` +-The command "self-update" downloads the latest stable release of restic from +-GitHub and replaces the currently running binary. After download, the +-authenticity of the binary is verified using the GPG signature on the release +-files. +- +-EXIT STATUS +-=========== +- +-Exit status is 0 if the command was successful, and non-zero if there was any error. +-`, +- DisableAutoGenTag: true, +- RunE: func(cmd *cobra.Command, args []string) error { +- return runSelfUpdate(cmd.Context(), selfUpdateOptions, globalOptions, args) +- }, +-} +- +-// SelfUpdateOptions collects all options for the update-restic command. +-type SelfUpdateOptions struct { +- Output string +-} +- +-var selfUpdateOptions SelfUpdateOptions +- +-func init() { +- cmdRoot.AddCommand(cmdSelfUpdate) +- +- flags := cmdSelfUpdate.Flags() +- flags.StringVar(&selfUpdateOptions.Output, "output", "", "Save the downloaded file as `filename` (default: running binary itself)") +-} +- +-func runSelfUpdate(ctx context.Context, opts SelfUpdateOptions, gopts GlobalOptions, args []string) error { +- if opts.Output == "" { +- file, err := os.Executable() +- if err != nil { +- return errors.Wrap(err, "unable to find executable") +- } +- +- opts.Output = file +- } +- +- fi, err := os.Lstat(opts.Output) +- if err != nil { +- dirname := filepath.Dir(opts.Output) +- di, err := os.Lstat(dirname) +- if err != nil { +- return err +- } +- if !di.Mode().IsDir() { +- return errors.Fatalf("output parent path %v is not a directory, use --output to specify a different file path", dirname) +- } +- } else { +- if !fi.Mode().IsRegular() { +- return errors.Fatalf("output path %v is not a normal file, use --output to specify a different file path", opts.Output) +- } +- } +- +- Verbosef("writing restic to %v\n", opts.Output) +- +- v, err := selfupdate.DownloadLatestStableRelease(ctx, opts.Output, version, Verbosef) +- if err != nil { +- return errors.Fatalf("unable to update restic: %v", err) +- } +- +- if v != version { +- Printf("successfully updated restic to version %v\n", v) +- } +- +- return nil +-} diff --git a/debian/patches/series b/debian/patches/series index 2ba969a52..0a05ec107 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 0001-privacy-breach.patch 0002-disable-azure.patch +remove-self-update.patch diff --git a/doc/bash-completion.sh b/doc/bash-completion.sh index cae37a6ca..c0aea194e 100644 --- a/doc/bash-completion.sh +++ b/doc/bash-completion.sh @@ -2608,75 +2608,6 @@ _restic_rewrite() noun_aliases=() } -_restic_self-update() -{ - last_command="restic_self-update" - - command_aliases=() - - commands=() - - flags=() - two_word_flags=() - local_nonpersistent_flags=() - flags_with_completion=() - flags_completion=() - - flags+=("--help") - flags+=("-h") - local_nonpersistent_flags+=("--help") - local_nonpersistent_flags+=("-h") - flags+=("--output=") - two_word_flags+=("--output") - local_nonpersistent_flags+=("--output") - local_nonpersistent_flags+=("--output=") - flags+=("--cacert=") - two_word_flags+=("--cacert") - flags+=("--cache-dir=") - two_word_flags+=("--cache-dir") - flags+=("--cleanup-cache") - flags+=("--compression=") - two_word_flags+=("--compression") - flags+=("--insecure-tls") - flags+=("--json") - flags+=("--key-hint=") - two_word_flags+=("--key-hint") - flags+=("--limit-download=") - two_word_flags+=("--limit-download") - flags+=("--limit-upload=") - two_word_flags+=("--limit-upload") - flags+=("--no-cache") - flags+=("--no-extra-verify") - flags+=("--no-lock") - flags+=("--option=") - two_word_flags+=("--option") - two_word_flags+=("-o") - flags+=("--pack-size=") - two_word_flags+=("--pack-size") - flags+=("--password-command=") - two_word_flags+=("--password-command") - flags+=("--password-file=") - two_word_flags+=("--password-file") - two_word_flags+=("-p") - flags+=("--quiet") - flags+=("-q") - flags+=("--repo=") - two_word_flags+=("--repo") - two_word_flags+=("-r") - flags+=("--repository-file=") - two_word_flags+=("--repository-file") - flags+=("--retry-lock=") - two_word_flags+=("--retry-lock") - flags+=("--tls-client-cert=") - two_word_flags+=("--tls-client-cert") - flags+=("--verbose") - flags+=("-v") - - must_have_one_flag=() - must_have_one_noun=() - noun_aliases=() -} - _restic_snapshots() { last_command="restic_snapshots" @@ -3105,7 +3036,6 @@ _restic_root_command() commands+=("repair") commands+=("restore") commands+=("rewrite") - commands+=("self-update") commands+=("snapshots") commands+=("stats") commands+=("tag") diff --git a/doc/man/restic-self-update.1 b/doc/man/restic-self-update.1 deleted file mode 100644 index 92ab5add3..000000000 --- a/doc/man/restic-self-update.1 +++ /dev/null @@ -1,129 +0,0 @@ -.nh -.TH "restic backup" "1" "Jan 2017" "generated by \fBrestic generate\fR" "" - -.SH NAME -.PP -restic-self-update - Update the restic binary - - -.SH SYNOPSIS -.PP -\fBrestic self-update [flags]\fP - - -.SH DESCRIPTION -.PP -The command "self-update" downloads the latest stable release of restic from -GitHub and replaces the currently running binary. After download, the -authenticity of the binary is verified using the GPG signature on the release -files. - - -.SH EXIT STATUS -.PP -Exit status is 0 if the command was successful, and non-zero if there was any error. - - -.SH OPTIONS -.PP -\fB-h\fP, \fB--help\fP[=false] - help for self-update - -.PP -\fB--output\fP="" - Save the downloaded file as \fBfilename\fR (default: running binary itself) - - -.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--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 diff --git a/doc/man/restic.1 b/doc/man/restic.1 index 333eab76a..7894a7c13 100644 --- a/doc/man/restic.1 +++ b/doc/man/restic.1 @@ -116,4 +116,4 @@ The full documentation can be found at https://restic.readthedocs.io/ . .SH SEE ALSO .PP -\fBrestic-backup(1)\fP, \fBrestic-cache(1)\fP, \fBrestic-cat(1)\fP, \fBrestic-check(1)\fP, \fBrestic-copy(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-recover(1)\fP, \fBrestic-repair(1)\fP, \fBrestic-restore(1)\fP, \fBrestic-rewrite(1)\fP, \fBrestic-self-update(1)\fP, \fBrestic-snapshots(1)\fP, \fBrestic-stats(1)\fP, \fBrestic-tag(1)\fP, \fBrestic-unlock(1)\fP, \fBrestic-version(1)\fP +\fBrestic-backup(1)\fP, \fBrestic-cache(1)\fP, \fBrestic-cat(1)\fP, \fBrestic-check(1)\fP, \fBrestic-copy(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-recover(1)\fP, \fBrestic-repair(1)\fP, \fBrestic-restore(1)\fP, \fBrestic-rewrite(1)\fP, \fBrestic-snapshots(1)\fP, \fBrestic-stats(1)\fP, \fBrestic-tag(1)\fP, \fBrestic-unlock(1)\fP, \fBrestic-version(1)\fP diff --git a/doc/manual_rest.rst b/doc/manual_rest.rst index d1c64ba6e..a252b0f51 100644 --- a/doc/manual_rest.rst +++ b/doc/manual_rest.rst @@ -39,7 +39,6 @@ Usage help is available: repair Repair the repository restore Extract the data from a snapshot rewrite Rewrite snapshots to exclude unwanted files - self-update Update the restic binary snapshots List all snapshots stats Scan the repository and show basic statistics tag Modify tags on snapshots |