diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a6926755..9a5393915 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Table of Contents +* [Changelog for 0.17.1](#changelog-for-restic-0171-2024-09-05) * [Changelog for 0.17.0](#changelog-for-restic-0170-2024-07-26) * [Changelog for 0.16.5](#changelog-for-restic-0165-2024-07-01) * [Changelog for 0.16.4](#changelog-for-restic-0164-2024-02-04) @@ -35,6 +36,230 @@ * [Changelog for 0.6.0](#changelog-for-restic-060-2017-05-29) +# Changelog for restic 0.17.1 (2024-09-05) +The following sections list the changes in restic 0.17.1 relevant to +restic users. The changes are ordered by importance. + +## Summary + + * Fix #2004: Correctly handle volume names in `backup` command on Windows + * Fix #4945: Include missing backup error text with `--json` + * Fix #4953: Correctly handle long paths on older Windows versions + * Fix #4957: Fix delayed cancellation of certain commands + * Fix #4958: Don't ignore metadata-setting errors during restore + * Fix #4969: Correctly restore timestamp for files with resource forks on macOS + * Fix #4975: Prevent `backup --stdin-from-command` from panicking + * Fix #4980: Skip extended attribute processing on unsupported Windows volumes + * Fix #5004: Fix spurious "A Required Privilege Is Not Held by the Client" error + * Fix #5005: Fix rare failures to retry locking a repository + * Fix #5018: Improve HTTP/2 support for REST backend + * Chg #4953: Also back up files with incomplete metadata + * Enh #4795: Display progress bar for `restore --verify` + * Enh #4934: Automatically clear removed snapshots from cache + * Enh #4944: Print JSON-formatted errors during `restore --json` + * Enh #4959: Return exit code 12 for "bad password" errors + * Enh #4970: Make timeout for stuck requests customizable + +## Details + + * Bugfix #2004: Correctly handle volume names in `backup` command on Windows + + On Windows, when the specified backup target only included the volume name + without a trailing slash, for example, `C:`, then restoring the resulting + snapshot would result in an error. Note that using `C:\` as backup target worked + correctly. + + Specifying volume names is now handled correctly. To restore snapshots created + before this bugfix, use the : syntax. For example, to restore + a snapshot with ID `12345678` that backed up `C:`, use the following command: + + ``` + restic restore 12345678:/C/C:./ --target output/folder + ``` + + https://github.com/restic/restic/issues/2004 + https://github.com/restic/restic/pull/5028 + + * Bugfix #4945: Include missing backup error text with `--json` + + Previously, when running a backup with the `--json` option, restic failed to + include the actual error message in the output, resulting in `"error": {}` being + displayed. + + This has now been fixed, and restic now includes the error text in JSON output. + + https://github.com/restic/restic/issues/4945 + https://github.com/restic/restic/pull/4946 + + * Bugfix #4953: Correctly handle long paths on older Windows versions + + On older Windows versions, like Windows Server 2012, restic 0.17.0 failed to + back up files with long paths. This problem has now been resolved. + + https://github.com/restic/restic/issues/4953 + https://github.com/restic/restic/pull/4954 + + * Bugfix #4957: Fix delayed cancellation of certain commands + + Since restic 0.17.0, some commands did not immediately respond to cancellation + via Ctrl-C (SIGINT) and continued running for a short period. The most affected + commands were `diff`,`find`, `ls`, `stats` and `rewrite`. This is now resolved. + + https://github.com/restic/restic/issues/4957 + https://github.com/restic/restic/pull/4960 + + * Bugfix #4958: Don't ignore metadata-setting errors during restore + + Previously, restic used to ignore errors when setting timestamps, attributes, or + file modes during a restore. It now reports those errors, except for permission + related errors when running without root privileges. + + https://github.com/restic/restic/pull/4958 + + * Bugfix #4969: Correctly restore timestamp for files with resource forks on macOS + + On macOS, timestamps were not restored for files with resource forks. This has + now been fixed. + + https://github.com/restic/restic/issues/4969 + https://github.com/restic/restic/pull/5006 + + * Bugfix #4975: Prevent `backup --stdin-from-command` from panicking + + Restic would previously crash if `--stdin-from-command` was specified without + providing a command. This issue has now been fixed. + + https://github.com/restic/restic/issues/4975 + https://github.com/restic/restic/pull/4976 + + * Bugfix #4980: Skip extended attribute processing on unsupported Windows volumes + + With restic 0.17.0, backups of certain Windows paths, such as network drives, + failed due to errors while fetching extended attributes. + + Restic now skips extended attribute processing for volumes where they are not + supported. + + https://github.com/restic/restic/issues/4955 + https://github.com/restic/restic/issues/4950 + https://github.com/restic/restic/pull/4980 + https://github.com/restic/restic/pull/4998 + + * Bugfix #5004: Fix spurious "A Required Privilege Is Not Held by the Client" error + + On Windows, creating a backup could sometimes trigger the following error: + + ``` + error: nodeFromFileInfo [...]: get named security info failed with: a required privilege is not held by the client. + ``` + + This has now been fixed. + + https://github.com/restic/restic/issues/5004 + https://github.com/restic/restic/pull/5019 + + * Bugfix #5005: Fix rare failures to retry locking a repository + + Restic 0.17.0 could in rare cases fail to retry locking a repository if one of + the lock files failed to load, resulting in the error: + + ``` + unable to create lock in backend: circuit breaker open for file + ``` + + This issue has now been addressed. The error handling now properly retries the + locking operation. In addition, restic waits a few seconds between locking + retries to increase chances of successful locking. + + https://github.com/restic/restic/issues/5005 + https://github.com/restic/restic/pull/5011 + https://github.com/restic/restic/pull/5012 + + * Bugfix #5018: Improve HTTP/2 support for REST backend + + If `rest-server` tried to gracefully shut down an HTTP/2 connection still in use + by the client, it could result in the following error: + + ``` + http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error + ``` + + This issue has now been resolved. + + https://github.com/restic/restic/pull/5018 + https://forum.restic.net/t/receiving-http2-goaway-messages-with-windows-restic-v0-17-0/8367 + + * Change #4953: Also back up files with incomplete metadata + + If restic failed to read extended metadata for a file or folder during a backup, + then the file or folder was not included in the resulting snapshot. Instead, a + warning message was printed along with returning exit code 3 once the backup was + finished. + + Now, restic also includes items for which the extended metadata could not be + read in a snapshot. The warning message has been updated to: + + ``` + incomplete metadata for /path/to/file:
+ ``` + + https://github.com/restic/restic/issues/4953 + https://github.com/restic/restic/pull/4977 + + * Enhancement #4795: Display progress bar for `restore --verify` + + When the `restore` command is run with `--verify`, it now displays a progress + bar while the verification step is running. The progress bar is not shown when + the `--json` flag is specified. + + https://github.com/restic/restic/issues/4795 + https://github.com/restic/restic/pull/4989 + + * Enhancement #4934: Automatically clear removed snapshots from cache + + Previously, restic only removed snapshots from the cache on the host where the + `forget` command was executed. On other hosts that use the same repository, the + old snapshots remained in the cache. + + Restic now automatically clears old snapshots from the local cache of the + current host. + + https://github.com/restic/restic/issues/4934 + https://github.com/restic/restic/pull/4981 + + * Enhancement #4944: Print JSON-formatted errors during `restore --json` + + Restic used to print any `restore` errors directly to the console as freeform + text messages, even when using the `--json` option. + + Now, when `--json` is specified, restic prints them as JSON formatted messages. + + https://github.com/restic/restic/issues/4944 + https://github.com/restic/restic/pull/4946 + + * Enhancement #4959: Return exit code 12 for "bad password" errors + + Restic now returns exit code 12 when it cannot open the repository due to an + incorrect password. + + https://github.com/restic/restic/pull/4959 + + * Enhancement #4970: Make timeout for stuck requests customizable + + Restic monitors connections to the backend to detect stuck requests. If a + request does not return any data within five minutes, restic assumes the request + is stuck and retries it. However, for large repositories this timeout might be + insufficient to collect a list of all files, causing the following error: + + `List(data) returned error, retrying after 1s: [...]: request timeout` + + It is now possible to increase the timeout using the `--stuck-request-timeout` + option. + + https://github.com/restic/restic/issues/4970 + https://github.com/restic/restic/pull/5014 + + # Changelog for restic 0.17.0 (2024-07-26) The following sections list the changes in restic 0.17.0 relevant to restic users. The changes are ordered by importance. diff --git a/VERSION b/VERSION index a0073758b..21997e69a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.17.0-dev +0.17.1-dev diff --git a/changelog/unreleased/issue-2004 b/changelog/0.17.1_2024-09-05/issue-2004 similarity index 56% rename from changelog/unreleased/issue-2004 rename to changelog/0.17.1_2024-09-05/issue-2004 index 45bc07ca8..5372eeb8c 100644 --- a/changelog/unreleased/issue-2004 +++ b/changelog/0.17.1_2024-09-05/issue-2004 @@ -1,15 +1,14 @@ -Bugfix: Correctly handle passing volume name to `backup` command +Bugfix: Correctly handle volume names in `backup` command on Windows On Windows, when the specified backup target only included the volume name without a trailing slash, for example, `C:`, then restoring the resulting snapshot would result in an error. Note that using `C:\` as backup target worked correctly. -Specifying volume names now works correctly. - -To restore snapshots created before this bugfix, use the `:` -syntax. For a snapshot with ID `12345678` and a backup of `C:`, the following -command can be used: +Specifying volume names is now handled correctly. To restore snapshots +created before this bugfix, use the : syntax. For +example, to restore a snapshot with ID `12345678` that backed up `C:`, +use the following command: ``` restic restore 12345678:/C/C:./ --target output/folder diff --git a/changelog/0.17.1_2024-09-05/issue-4795 b/changelog/0.17.1_2024-09-05/issue-4795 new file mode 100644 index 000000000..ff86f0931 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-4795 @@ -0,0 +1,8 @@ +Enhancement: Display progress bar for `restore --verify` + +When the `restore` command is run with `--verify`, it now displays a progress +bar while the verification step is running. The progress bar is not shown when +the `--json` flag is specified. + +https://github.com/restic/restic/issues/4795 +https://github.com/restic/restic/pull/4989 diff --git a/changelog/0.17.1_2024-09-05/issue-4934 b/changelog/0.17.1_2024-09-05/issue-4934 new file mode 100644 index 000000000..df77109a7 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-4934 @@ -0,0 +1,11 @@ +Enhancement: Automatically clear removed snapshots from cache + +Previously, restic only removed snapshots from the cache on the host where the +`forget` command was executed. On other hosts that use the same repository, the +old snapshots remained in the cache. + +Restic now automatically clears old snapshots from the local cache of the +current host. + +https://github.com/restic/restic/issues/4934 +https://github.com/restic/restic/pull/4981 diff --git a/changelog/0.17.1_2024-09-05/issue-4944 b/changelog/0.17.1_2024-09-05/issue-4944 new file mode 100644 index 000000000..95ae24c03 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-4944 @@ -0,0 +1,9 @@ +Enhancement: Print JSON-formatted errors during `restore --json` + +Restic used to print any `restore` errors directly to the console as freeform +text messages, even when using the `--json` option. + +Now, when `--json` is specified, restic prints them as JSON formatted messages. + +https://github.com/restic/restic/issues/4944 +https://github.com/restic/restic/pull/4946 diff --git a/changelog/0.17.1_2024-09-05/issue-4945 b/changelog/0.17.1_2024-09-05/issue-4945 new file mode 100644 index 000000000..a7a483fed --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-4945 @@ -0,0 +1,10 @@ +Bugfix: Include missing backup error text with `--json` + +Previously, when running a backup with the `--json` option, restic failed to +include the actual error message in the output, resulting in `"error": {}` +being displayed. + +This has now been fixed, and restic now includes the error text in JSON output. + +https://github.com/restic/restic/issues/4945 +https://github.com/restic/restic/pull/4946 diff --git a/changelog/unreleased/issue-4953 b/changelog/0.17.1_2024-09-05/issue-4953 similarity index 51% rename from changelog/unreleased/issue-4953 rename to changelog/0.17.1_2024-09-05/issue-4953 index 78a266aff..c542377fc 100644 --- a/changelog/unreleased/issue-4953 +++ b/changelog/0.17.1_2024-09-05/issue-4953 @@ -1,7 +1,7 @@ Bugfix: Correctly handle long paths on older Windows versions -When using older Windows versions, like Windows Server 2012, restic 0.17.0 -failed to back up files with long paths. This has been fixed. +On older Windows versions, like Windows Server 2012, restic 0.17.0 failed to +back up files with long paths. This problem has now been resolved. https://github.com/restic/restic/issues/4953 https://github.com/restic/restic/pull/4954 diff --git a/changelog/0.17.1_2024-09-05/issue-4957 b/changelog/0.17.1_2024-09-05/issue-4957 new file mode 100644 index 000000000..59c73b5c7 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-4957 @@ -0,0 +1,8 @@ +Bugfix: Fix delayed cancellation of certain commands + +Since restic 0.17.0, some commands did not immediately respond to cancellation +via Ctrl-C (SIGINT) and continued running for a short period. The most affected +commands were `diff`,`find`, `ls`, `stats` and `rewrite`. This is now resolved. + +https://github.com/restic/restic/issues/4957 +https://github.com/restic/restic/pull/4960 diff --git a/changelog/unreleased/issue-4969 b/changelog/0.17.1_2024-09-05/issue-4969 similarity index 62% rename from changelog/unreleased/issue-4969 rename to changelog/0.17.1_2024-09-05/issue-4969 index ce76a7389..d92392a20 100644 --- a/changelog/unreleased/issue-4969 +++ b/changelog/0.17.1_2024-09-05/issue-4969 @@ -1,7 +1,7 @@ Bugfix: Correctly restore timestamp for files with resource forks on macOS -On macOS, timestamps were incorrectly restored for files with resource forks. -This has been fixed. +On macOS, timestamps were not restored for files with resource forks. This has +now been fixed. https://github.com/restic/restic/issues/4969 https://github.com/restic/restic/pull/5006 diff --git a/changelog/unreleased/issue-4970 b/changelog/0.17.1_2024-09-05/issue-4970 similarity index 56% rename from changelog/unreleased/issue-4970 rename to changelog/0.17.1_2024-09-05/issue-4970 index 524e91b75..422ae3c25 100644 --- a/changelog/unreleased/issue-4970 +++ b/changelog/0.17.1_2024-09-05/issue-4970 @@ -1,13 +1,15 @@ Enhancement: Make timeout for stuck requests customizable -Restic monitors connections to the backend to detect stuck requests. If a request -does not return any data within five minutes, restic assumes the request is stuck and -retries it. However, for large repositories it sometimes takes longer than that to -collect a list of all files, causing the following error: +Restic monitors connections to the backend to detect stuck requests. If a +request does not return any data within five minutes, restic assumes the +request is stuck and retries it. However, for large repositories this timeout +might be insufficient to collect a list of all files, causing the following +error: `List(data) returned error, retrying after 1s: [...]: request timeout` -It is now possible to increase the timeout using the `--stuck-request-timeout` option. +It is now possible to increase the timeout using the `--stuck-request-timeout` +option. https://github.com/restic/restic/issues/4970 https://github.com/restic/restic/pull/5014 diff --git a/changelog/unreleased/issue-4975 b/changelog/0.17.1_2024-09-05/issue-4975 similarity index 53% rename from changelog/unreleased/issue-4975 rename to changelog/0.17.1_2024-09-05/issue-4975 index 0e29935f5..614642c06 100644 --- a/changelog/unreleased/issue-4975 +++ b/changelog/0.17.1_2024-09-05/issue-4975 @@ -1,6 +1,7 @@ Bugfix: Prevent `backup --stdin-from-command` from panicking -If --stdin-from-command is used, restic now checks whether there is a command behind it. +Restic would previously crash if `--stdin-from-command` was specified without +providing a command. This issue has now been fixed. https://github.com/restic/restic/issues/4975 https://github.com/restic/restic/pull/4976 diff --git a/changelog/unreleased/issue-5004 b/changelog/0.17.1_2024-09-05/issue-5004 similarity index 74% rename from changelog/unreleased/issue-5004 rename to changelog/0.17.1_2024-09-05/issue-5004 index 529b65464..72e98a9a4 100644 --- a/changelog/unreleased/issue-5004 +++ b/changelog/0.17.1_2024-09-05/issue-5004 @@ -1,12 +1,12 @@ Bugfix: Fix spurious "A Required Privilege Is Not Held by the Client" error -On Windows, creating a backup could sometimes print the following error +On Windows, creating a backup could sometimes trigger the following error: ``` error: nodeFromFileInfo [...]: get named security info failed with: a required privilege is not held by the client. ``` -This has been fixed. +This has now been fixed. https://github.com/restic/restic/issues/5004 https://github.com/restic/restic/pull/5019 diff --git a/changelog/0.17.1_2024-09-05/issue-5005 b/changelog/0.17.1_2024-09-05/issue-5005 new file mode 100644 index 000000000..16ac83b4a --- /dev/null +++ b/changelog/0.17.1_2024-09-05/issue-5005 @@ -0,0 +1,16 @@ +Bugfix: Fix rare failures to retry locking a repository + +Restic 0.17.0 could in rare cases fail to retry locking a repository if one of +the lock files failed to load, resulting in the error: + +``` +unable to create lock in backend: circuit breaker open for file +``` + +This issue has now been addressed. The error handling now properly retries the +locking operation. In addition, restic waits a few seconds between locking +retries to increase chances of successful locking. + +https://github.com/restic/restic/issues/5005 +https://github.com/restic/restic/pull/5011 +https://github.com/restic/restic/pull/5012 diff --git a/changelog/0.17.1_2024-09-05/pull-4958 b/changelog/0.17.1_2024-09-05/pull-4958 new file mode 100644 index 000000000..dae9b2c8e --- /dev/null +++ b/changelog/0.17.1_2024-09-05/pull-4958 @@ -0,0 +1,7 @@ +Bugfix: Don't ignore metadata-setting errors during restore + +Previously, restic used to ignore errors when setting timestamps, attributes, +or file modes during a restore. It now reports those errors, except for +permission related errors when running without root privileges. + +https://github.com/restic/restic/pull/4958 diff --git a/changelog/0.17.1_2024-09-05/pull-4959 b/changelog/0.17.1_2024-09-05/pull-4959 new file mode 100644 index 000000000..80b2780b2 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/pull-4959 @@ -0,0 +1,6 @@ +Enhancement: Return exit code 12 for "bad password" errors + +Restic now returns exit code 12 when it cannot open the repository due to an +incorrect password. + +https://github.com/restic/restic/pull/4959 diff --git a/changelog/0.17.1_2024-09-05/pull-4977 b/changelog/0.17.1_2024-09-05/pull-4977 new file mode 100644 index 000000000..781576a56 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/pull-4977 @@ -0,0 +1,16 @@ +Change: Also back up files with incomplete metadata + +If restic failed to read extended metadata for a file or folder during a +backup, then the file or folder was not included in the resulting snapshot. +Instead, a warning message was printed along with returning exit code 3 once +the backup was finished. + +Now, restic also includes items for which the extended metadata could not be +read in a snapshot. The warning message has been updated to: + +``` +incomplete metadata for /path/to/file:
+``` + +https://github.com/restic/restic/issues/4953 +https://github.com/restic/restic/pull/4977 diff --git a/changelog/0.17.1_2024-09-05/pull-4980 b/changelog/0.17.1_2024-09-05/pull-4980 new file mode 100644 index 000000000..b51ee8d59 --- /dev/null +++ b/changelog/0.17.1_2024-09-05/pull-4980 @@ -0,0 +1,12 @@ +Bugfix: Skip extended attribute processing on unsupported Windows volumes + +With restic 0.17.0, backups of certain Windows paths, such as network drives, +failed due to errors while fetching extended attributes. + +Restic now skips extended attribute processing for volumes where they are not +supported. + +https://github.com/restic/restic/pull/4980 +https://github.com/restic/restic/pull/4998 +https://github.com/restic/restic/issues/4955 +https://github.com/restic/restic/issues/4950 diff --git a/changelog/unreleased/pull-5018 b/changelog/0.17.1_2024-09-05/pull-5018 similarity index 59% rename from changelog/unreleased/pull-5018 rename to changelog/0.17.1_2024-09-05/pull-5018 index 1b7b9f428..ca600c3e1 100644 --- a/changelog/unreleased/pull-5018 +++ b/changelog/0.17.1_2024-09-05/pull-5018 @@ -1,13 +1,13 @@ -Bugfix: Improve HTTP2 support for rest backend +Bugfix: Improve HTTP/2 support for REST backend -If rest-server tried to gracefully shut down an HTTP2 connection still used by the client, -this could result in the following error. +If `rest-server` tried to gracefully shut down an HTTP/2 connection still in +use by the client, it could result in the following error: ``` http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error ``` -This has been fixed. +This issue has now been resolved. https://github.com/restic/restic/pull/5018 https://forum.restic.net/t/receiving-http2-goaway-messages-with-windows-restic-v0-17-0/8367 diff --git a/changelog/unreleased/issue-4795 b/changelog/unreleased/issue-4795 deleted file mode 100644 index 084335f51..000000000 --- a/changelog/unreleased/issue-4795 +++ /dev/null @@ -1,7 +0,0 @@ -Enhancement: `restore --verify` shows progress with a progress bar - -If restore command was run with `--verify` restic didn't show any progress indication, now it shows a progress bar while 'verification' is running. -The progress bar is text only for now and doesn't respect `--json` flag. - -https://github.com/restic/restic/issues/4795 -https://github.com/restic/restic/pull/4989 diff --git a/changelog/unreleased/issue-4934 b/changelog/unreleased/issue-4934 deleted file mode 100644 index 6891ca204..000000000 --- a/changelog/unreleased/issue-4934 +++ /dev/null @@ -1,8 +0,0 @@ -Enhancement: Clear removed snapshots from local cache of the current host - -Restic only removed snapshots from the cache on the host that runs the `forget` command. -On other hosts that use the same repository, the old snapshots remained in the cache. -Restic now, automatically clears old snapshots from the local cache of the current host. - -https://github.com/restic/restic/issues/4934 -https://github.com/restic/restic/pull/4981 \ No newline at end of file diff --git a/changelog/unreleased/issue-4944 b/changelog/unreleased/issue-4944 deleted file mode 100644 index 02f5ae341..000000000 --- a/changelog/unreleased/issue-4944 +++ /dev/null @@ -1,8 +0,0 @@ -Enhancement: Print JSON-formatted errors during `restore --json` - -Restic printed any restore errors directly to the console as freeform -text messages, even with `--json`. Restic now prints them as JSON formatted -messages when `--json` is passed. - -https://github.com/restic/restic/issues/4944 -https://github.com/restic/restic/pull/4946 diff --git a/changelog/unreleased/issue-4945 b/changelog/unreleased/issue-4945 deleted file mode 100644 index 7bbf69fac..000000000 --- a/changelog/unreleased/issue-4945 +++ /dev/null @@ -1,8 +0,0 @@ -Bugfix: Include missing backup error text with `--json` - -Restic was not actually providing the text of an error message during -backup if `--json` was passed, instead only printing `"error": {}`. -Restic now includes the error text in JSON output. - -https://github.com/restic/restic/issues/4945 -https://github.com/restic/restic/pull/4946 diff --git a/changelog/unreleased/issue-4957 b/changelog/unreleased/issue-4957 deleted file mode 100644 index d18e28ec9..000000000 --- a/changelog/unreleased/issue-4957 +++ /dev/null @@ -1,10 +0,0 @@ -Bugfix: Fix delayed cancelation of some commands - -Since restic 0.17.0, some commands no longer promptly reacted to being canceled -via Ctrl-C (SIGINT) and continued to run for a limited amount of time. The most -affected commands were `diff`,`find`, `ls`, `stats` and `rewrite`. - -This has been fixed. - -https://github.com/restic/restic/issues/4957 -https://github.com/restic/restic/pull/4960 diff --git a/changelog/unreleased/issue-5005 b/changelog/unreleased/issue-5005 deleted file mode 100644 index 90c164b07..000000000 --- a/changelog/unreleased/issue-5005 +++ /dev/null @@ -1,13 +0,0 @@ -Bugfix: Fix rare failures to retry locking a repository - -Restic 0.17.0 could in rare cases fail to retry locking a repository if -one of the lock files failed to load. The lock operation failed with error -`unable to create lock in backend: circuit breaker open for file ` - -The error handling has been fixed to correctly retry locking the repository. -In addition, restic now waits a few seconds between locking retries to -increase chances of success. - -https://github.com/restic/restic/issues/5005 -https://github.com/restic/restic/pull/5011 -https://github.com/restic/restic/pull/5012 diff --git a/changelog/unreleased/pull-4958 b/changelog/unreleased/pull-4958 deleted file mode 100644 index bbb28a97b..000000000 --- a/changelog/unreleased/pull-4958 +++ /dev/null @@ -1,7 +0,0 @@ -Bugfix: Don't ignore metadata-setting errors during restore - -Restic was accidentally ignoring errors when setting timestamps, -attributes, or file modes during restore. It will now report those -errors (unless it's just a permission error when not running as root). - -https://github.com/restic/restic/pull/4958 diff --git a/changelog/unreleased/pull-4959 b/changelog/unreleased/pull-4959 deleted file mode 100644 index 120527e22..000000000 --- a/changelog/unreleased/pull-4959 +++ /dev/null @@ -1,6 +0,0 @@ -Enhancement: Return exit code 12 for "bad password" - -Restic now returns exit code 12 when it can't open the repository -because of a bad password. - -https://github.com/restic/restic/pull/4959 diff --git a/changelog/unreleased/pull-4977 b/changelog/unreleased/pull-4977 deleted file mode 100644 index 702df29a7..000000000 --- a/changelog/unreleased/pull-4977 +++ /dev/null @@ -1,15 +0,0 @@ -Change: let `backup` store files with incomplete metadata - -If restic failed to read the extended metadata for a file or folder while -creating a backup, then the file or folder was not included in the resulting -snapshot. Instead, only a warning message was printed along with exiting -with exit code 3. - -Now, restic also includes items for which the extended metadata could not -be read in a snapshot. The warning message has been changed to read -``` -incomplete metadata for /path/to/file: details on error -``` - -https://github.com/restic/restic/issues/4953 -https://github.com/restic/restic/pull/4977 diff --git a/changelog/unreleased/pull-4980 b/changelog/unreleased/pull-4980 deleted file mode 100644 index 5713db7a2..000000000 --- a/changelog/unreleased/pull-4980 +++ /dev/null @@ -1,13 +0,0 @@ -Bugfix: Skip EA processing in Windows for volumes that do not support EA - -Restic was failing to backup files on some windows paths like network -drives because of errors while fetching extended attributes. -Either they return error codes like windows.E_NOT_SET or -windows.ERROR_INVALID_FUNCTION or it results in slower backups. -Restic now completely skips the attempt to fetch extended attributes -for such volumes where it is not supported. - -https://github.com/restic/restic/pull/4980 -https://github.com/restic/restic/pull/4998 -https://github.com/restic/restic/issues/4955 -https://github.com/restic/restic/issues/4950 diff --git a/cmd/restic/global.go b/cmd/restic/global.go index 5fb37f9f2..ff54321bb 100644 --- a/cmd/restic/global.go +++ b/cmd/restic/global.go @@ -46,7 +46,7 @@ import ( // to a missing backend storage location or config file var ErrNoRepository = errors.New("repository does not exist") -var version = "0.17.0-dev (compiled manually)" +var version = "0.17.1-dev (compiled manually)" // TimeFormat is the format used for all timestamps printed by restic. const TimeFormat = "2006-01-02 15:04:05" diff --git a/doc/bash-completion.sh b/doc/bash-completion.sh index 9d64871ca..0517fdf7c 100644 --- a/doc/bash-completion.sh +++ b/doc/bash-completion.sh @@ -516,6 +516,8 @@ _restic_backup() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -592,6 +594,8 @@ _restic_cache() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -660,6 +664,8 @@ _restic_cat() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -667,6 +673,15 @@ _restic_cat() must_have_one_flag=() must_have_one_noun=() + must_have_one_noun+=("blob") + must_have_one_noun+=("config") + must_have_one_noun+=("index") + must_have_one_noun+=("key") + must_have_one_noun+=("lock") + must_have_one_noun+=("masterkey") + must_have_one_noun+=("pack") + must_have_one_noun+=("snapshot") + must_have_one_noun+=("tree") noun_aliases=() } @@ -736,6 +751,8 @@ _restic_check() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -840,6 +857,8 @@ _restic_copy() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -910,6 +929,8 @@ _restic_diff() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1004,6 +1025,78 @@ _restic_dump() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") + 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_features() +{ + last_command="restic_features" + + 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+=("--cacert=") + two_word_flags+=("--cacert") + flags+=("--cache-dir=") + two_word_flags+=("--cache-dir") + flags+=("--cleanup-cache") + flags+=("--compression=") + two_word_flags+=("--compression") + flags+=("--http-user-agent=") + two_word_flags+=("--http-user-agent") + flags+=("--insecure-no-password") + 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+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1122,6 +1215,8 @@ _restic_find() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1298,6 +1393,8 @@ _restic_forget() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1386,6 +1483,8 @@ _restic_generate() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1450,6 +1549,8 @@ _restic_help() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1547,6 +1648,8 @@ _restic_init() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1629,6 +1732,8 @@ _restic_key_add() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1693,6 +1798,8 @@ _restic_key_help() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1762,6 +1869,8 @@ _restic_key_list() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1844,6 +1953,8 @@ _restic_key_passwd() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1912,6 +2023,8 @@ _restic_key_remove() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -1985,6 +2098,8 @@ _restic_key() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2053,6 +2168,8 @@ _restic_list() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2145,6 +2262,8 @@ _restic_ls() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2217,6 +2336,8 @@ _restic_migrate() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2313,6 +2434,78 @@ _restic_mount() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") + 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_options() +{ + last_command="restic_options" + + 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+=("--cacert=") + two_word_flags+=("--cacert") + flags+=("--cache-dir=") + two_word_flags+=("--cache-dir") + flags+=("--cleanup-cache") + flags+=("--compression=") + two_word_flags+=("--compression") + flags+=("--http-user-agent=") + two_word_flags+=("--http-user-agent") + flags+=("--insecure-no-password") + 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+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2403,6 +2596,8 @@ _restic_prune() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2471,6 +2666,8 @@ _restic_recover() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2535,6 +2732,8 @@ _restic_repair_help() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2606,6 +2805,8 @@ _restic_repair_index() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2674,6 +2875,8 @@ _restic_repair_packs() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2762,6 +2965,8 @@ _restic_repair_snapshots() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2834,6 +3039,8 @@ _restic_repair() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -2970,6 +3177,8 @@ _restic_restore() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3084,6 +3293,8 @@ _restic_rewrite() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3156,6 +3367,8 @@ _restic_self-update() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3252,6 +3465,8 @@ _restic_snapshots() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3288,6 +3503,8 @@ _restic_stats() local_nonpersistent_flags+=("-H") flags+=("--mode=") two_word_flags+=("--mode") + flags_with_completion+=("--mode") + flags_completion+=("__restic_handle_go_custom_completion") local_nonpersistent_flags+=("--mode") local_nonpersistent_flags+=("--mode=") flags+=("--path=") @@ -3338,6 +3555,8 @@ _restic_stats() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3432,6 +3651,8 @@ _restic_tag() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3502,6 +3723,8 @@ _restic_unlock() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3570,6 +3793,8 @@ _restic_version() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") @@ -3594,6 +3819,7 @@ _restic_root_command() commands+=("copy") commands+=("diff") commands+=("dump") + commands+=("features") commands+=("find") commands+=("forget") commands+=("generate") @@ -3604,6 +3830,7 @@ _restic_root_command() commands+=("ls") commands+=("migrate") commands+=("mount") + commands+=("options") commands+=("prune") commands+=("recover") commands+=("repair") @@ -3666,6 +3893,8 @@ _restic_root_command() two_word_flags+=("--repository-file") flags+=("--retry-lock=") two_word_flags+=("--retry-lock") + flags+=("--stuck-request-timeout=") + two_word_flags+=("--stuck-request-timeout") flags+=("--tls-client-cert=") two_word_flags+=("--tls-client-cert") flags+=("--verbose") diff --git a/doc/man/restic-backup.1 b/doc/man/restic-backup.1 index cda4aadff..a84b955ba 100644 --- a/doc/man/restic-backup.1 +++ b/doc/man/restic-backup.1 @@ -24,6 +24,7 @@ Exit status is 1 if there was a fatal error (no snapshot created). Exit status is 3 if some source data could not be read (incomplete snapshot created). Exit status is 10 if the repository does not exist. Exit status is 11 if the repository is already locked. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -229,6 +230,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-cache.1 b/doc/man/restic-cache.1 index f868b8a6b..fb23fe8a9 100644 --- a/doc/man/restic-cache.1 +++ b/doc/man/restic-cache.1 @@ -129,6 +129,10 @@ Exit status is 1 if there was any error. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-cat.1 b/doc/man/restic-cat.1 index 2298c58cf..cab1b85a5 100644 --- a/doc/man/restic-cat.1 +++ b/doc/man/restic-cat.1 @@ -22,6 +22,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -119,6 +120,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-check.1 b/doc/man/restic-check.1 index c0d1b07a8..60d17a313 100644 --- a/doc/man/restic-check.1 +++ b/doc/man/restic-check.1 @@ -27,6 +27,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -136,6 +137,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-copy.1 b/doc/man/restic-copy.1 index 63b67e5e7..96c394139 100644 --- a/doc/man/restic-copy.1 +++ b/doc/man/restic-copy.1 @@ -36,12 +36,13 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS .PP \fB--from-insecure-no-password\fP[=false] - use an empty password for the source repository, must be passed to every restic command (insecure) + use an empty password for the source repository (insecure) .PP \fB--from-key-hint\fP="" @@ -169,6 +170,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-diff.1 b/doc/man/restic-diff.1 index f4ffa2737..f4c8a1d14 100644 --- a/doc/man/restic-diff.1 +++ b/doc/man/restic-diff.1 @@ -49,6 +49,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -150,6 +151,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-dump.1 b/doc/man/restic-dump.1 index 00cb3c8b6..657570f6d 100644 --- a/doc/man/restic-dump.1 +++ b/doc/man/restic-dump.1 @@ -34,6 +34,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -151,6 +152,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-features.1 b/doc/man/restic-features.1 new file mode 100644 index 000000000..b288f655a --- /dev/null +++ b/doc/man/restic-features.1 @@ -0,0 +1,146 @@ +.nh +.TH "restic backup" "1" "Jan 2017" "generated by \fBrestic generate\fR" "" + +.SH NAME +.PP +restic-features - Print list of feature flags + + +.SH SYNOPSIS +.PP +\fBrestic features [flags]\fP + + +.SH DESCRIPTION +.PP +The "features" command prints a list of supported feature flags. + +.PP +To pass feature flags to restic, set the RESTIC_FEATURES environment variable +to "featureA=true,featureB=false". Specifying an unknown feature flag is an error. + +.PP +A feature can either be in alpha, beta, stable or deprecated state. +An \fIalpha\fP feature is disabled by default and may change in arbitrary ways between restic versions or be removed. +A \fIbeta\fP feature is enabled by default, but still can change in minor ways or be removed. +A \fIstable\fP feature is always enabled and cannot be disabled. The flag will be removed in a future restic version. +A \fIdeprecated\fP feature is always disabled and cannot be enabled. The flag will be removed in a future restic version. + + +.SH EXIT STATUS +.PP +Exit status is 0 if the command was successful. +Exit status is 1 if there was any error. + + +.SH OPTIONS +.PP +\fB-h\fP, \fB--help\fP[=false] + help for features + + +.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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + +.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-find.1 b/doc/man/restic-find.1 index 2d81decd3..e8d974527 100644 --- a/doc/man/restic-find.1 +++ b/doc/man/restic-find.1 @@ -165,6 +165,10 @@ It can also be used to search for restic blobs or trees for troubleshooting. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) @@ -190,6 +194,7 @@ 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. +Exit status is 12 if the password is incorrect. .EE diff --git a/doc/man/restic-forget.1 b/doc/man/restic-forget.1 index 55705288f..058dbee25 100644 --- a/doc/man/restic-forget.1 +++ b/doc/man/restic-forget.1 @@ -36,6 +36,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -237,6 +238,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-generate.1 b/doc/man/restic-generate.1 index f2db39bac..f17a6fcd0 100644 --- a/doc/man/restic-generate.1 +++ b/doc/man/restic-generate.1 @@ -138,6 +138,10 @@ Exit status is 1 if there was any error. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-init.1 b/doc/man/restic-init.1 index de439add5..50fa00b71 100644 --- a/doc/man/restic-init.1 +++ b/doc/man/restic-init.1 @@ -29,7 +29,7 @@ Exit status is 1 if there was any error. .PP \fB--from-insecure-no-password\fP[=false] - use an empty password for the source repository, must be passed to every restic command (insecure) + use an empty password for the source repository (insecure) .PP \fB--from-key-hint\fP="" @@ -149,6 +149,10 @@ Exit status is 1 if there was any error. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-key-add.1 b/doc/man/restic-key-add.1 index 6a24e1e67..ff33408b4 100644 --- a/doc/man/restic-key-add.1 +++ b/doc/man/restic-key-add.1 @@ -22,6 +22,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -135,6 +136,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-key-list.1 b/doc/man/restic-key-list.1 index a00b116b9..7deb05793 100644 --- a/doc/man/restic-key-list.1 +++ b/doc/man/restic-key-list.1 @@ -24,6 +24,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -121,6 +122,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-key-passwd.1 b/doc/man/restic-key-passwd.1 index 42315d72a..68e81edd9 100644 --- a/doc/man/restic-key-passwd.1 +++ b/doc/man/restic-key-passwd.1 @@ -23,6 +23,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -136,6 +137,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-key-remove.1 b/doc/man/restic-key-remove.1 index 6ee826059..ff1a0ceb9 100644 --- a/doc/man/restic-key-remove.1 +++ b/doc/man/restic-key-remove.1 @@ -23,6 +23,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -120,6 +121,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-key.1 b/doc/man/restic-key.1 index 43da808cc..4fd1f6caf 100644 --- a/doc/man/restic-key.1 +++ b/doc/man/restic-key.1 @@ -112,6 +112,10 @@ per repository. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-list.1 b/doc/man/restic-list.1 index f8a1db005..29945e859 100644 --- a/doc/man/restic-list.1 +++ b/doc/man/restic-list.1 @@ -22,6 +22,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -119,6 +120,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-ls.1 b/doc/man/restic-ls.1 index 6cc662583..b990d2ec8 100644 --- a/doc/man/restic-ls.1 +++ b/doc/man/restic-ls.1 @@ -37,6 +37,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -162,6 +163,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-migrate.1 b/doc/man/restic-migrate.1 index 2272294bf..c0fa2dbc1 100644 --- a/doc/man/restic-migrate.1 +++ b/doc/man/restic-migrate.1 @@ -24,6 +24,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -125,6 +126,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-mount.1 b/doc/man/restic-mount.1 index a256d2a5f..5ec59391d 100644 --- a/doc/man/restic-mount.1 +++ b/doc/man/restic-mount.1 @@ -64,6 +64,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -193,6 +194,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-options.1 b/doc/man/restic-options.1 new file mode 100644 index 000000000..8ea8bea63 --- /dev/null +++ b/doc/man/restic-options.1 @@ -0,0 +1,135 @@ +.nh +.TH "restic backup" "1" "Jan 2017" "generated by \fBrestic generate\fR" "" + +.SH NAME +.PP +restic-options - Print list of extended options + + +.SH SYNOPSIS +.PP +\fBrestic options [flags]\fP + + +.SH DESCRIPTION +.PP +The "options" command prints a list of extended options. + + +.SH EXIT STATUS +.PP +Exit status is 0 if the command was successful. +Exit status is 1 if there was any error. + + +.SH OPTIONS +.PP +\fB-h\fP, \fB--help\fP[=false] + help for options + + +.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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + +.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-prune.1 b/doc/man/restic-prune.1 index 7e16748ab..1ee262b61 100644 --- a/doc/man/restic-prune.1 +++ b/doc/man/restic-prune.1 @@ -23,6 +23,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -148,6 +149,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-recover.1 b/doc/man/restic-recover.1 index 0529360ae..382a91ceb 100644 --- a/doc/man/restic-recover.1 +++ b/doc/man/restic-recover.1 @@ -24,6 +24,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -121,6 +122,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-repair-index.1 b/doc/man/restic-repair-index.1 index 60327a916..341f90d59 100644 --- a/doc/man/restic-repair-index.1 +++ b/doc/man/restic-repair-index.1 @@ -23,6 +23,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -124,6 +125,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-repair-packs.1 b/doc/man/restic-repair-packs.1 index 01a2f6540..d0091725b 100644 --- a/doc/man/restic-repair-packs.1 +++ b/doc/man/restic-repair-packs.1 @@ -23,6 +23,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -120,6 +121,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-repair-snapshots.1 b/doc/man/restic-repair-snapshots.1 index c4439f131..d9e12ddf1 100644 --- a/doc/man/restic-repair-snapshots.1 +++ b/doc/man/restic-repair-snapshots.1 @@ -41,6 +41,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -158,6 +159,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-repair.1 b/doc/man/restic-repair.1 index 7fa313aab..b06562486 100644 --- a/doc/man/restic-repair.1 +++ b/doc/man/restic-repair.1 @@ -111,6 +111,10 @@ Repair the repository \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-restore.1 b/doc/man/restic-restore.1 index 876b18bf8..e9ef4ef94 100644 --- a/doc/man/restic-restore.1 +++ b/doc/man/restic-restore.1 @@ -31,6 +31,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -196,6 +197,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-rewrite.1 b/doc/man/restic-rewrite.1 index d3dd92436..c0d4a7e1a 100644 --- a/doc/man/restic-rewrite.1 +++ b/doc/man/restic-rewrite.1 @@ -39,6 +39,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -180,6 +181,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-self-update.1 b/doc/man/restic-self-update.1 index e6dd4faf2..d475f13cb 100644 --- a/doc/man/restic-self-update.1 +++ b/doc/man/restic-self-update.1 @@ -25,6 +25,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -126,6 +127,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-snapshots.1 b/doc/man/restic-snapshots.1 index 25d5274e3..f59240b44 100644 --- a/doc/man/restic-snapshots.1 +++ b/doc/man/restic-snapshots.1 @@ -22,6 +22,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -143,6 +144,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-stats.1 b/doc/man/restic-stats.1 index fe4074ca5..1e6e79dac 100644 --- a/doc/man/restic-stats.1 +++ b/doc/man/restic-stats.1 @@ -52,6 +52,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -165,6 +166,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-tag.1 b/doc/man/restic-tag.1 index 7ab1911e5..89c677867 100644 --- a/doc/man/restic-tag.1 +++ b/doc/man/restic-tag.1 @@ -29,6 +29,7 @@ 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. +Exit status is 12 if the password is incorrect. .SH OPTIONS @@ -150,6 +151,10 @@ Exit status is 11 if the repository is already locked. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-unlock.1 b/doc/man/restic-unlock.1 index a24a4f815..74679ef91 100644 --- a/doc/man/restic-unlock.1 +++ b/doc/man/restic-unlock.1 @@ -121,6 +121,10 @@ Exit status is 1 if there was any error. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic-version.1 b/doc/man/restic-version.1 index e9df439ed..8d5fe6c65 100644 --- a/doc/man/restic-version.1 +++ b/doc/man/restic-version.1 @@ -118,6 +118,10 @@ Exit status is 1 if there was any error. \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) diff --git a/doc/man/restic.1 b/doc/man/restic.1 index ee423c6ad..bd8009aac 100644 --- a/doc/man/restic.1 +++ b/doc/man/restic.1 @@ -113,6 +113,10 @@ The full documentation can be found at https://restic.readthedocs.io/ . \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--stuck-request-timeout\fP=5m0s + \fBduration\fR after which to retry stuck requests + .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) @@ -124,4 +128,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-features(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-options(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