Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-0.11] Revert "Update restic to v0.17.1" #1413

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mover-restic/SOURCE_VERSIONS
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
https://github.com/restic/restic.git v0.17.1 975aa41e1e6a1c88deb501451f23cbdbb013f1da
https://github.com/restic/restic.git v0.17.0 277c8f5029a12bd882c2c1d2088f435caec67bb8
https://github.com/minio/minio-go.git v7.0.66 5415e6c72a71610108fe05ee747ac760dd40094f
2 changes: 1 addition & 1 deletion mover-restic/restic/.github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@v4

- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
Expand Down
18 changes: 9 additions & 9 deletions mover-restic/restic/.github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ jobs:
GOPROXY: https://proxy.golang.org

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Set up Go ${{ matrix.go }}
uses: actions/setup-go@v5
with:
Expand Down Expand Up @@ -142,6 +139,9 @@ jobs:
echo $Env:USERPROFILE\tar\bin >> $Env:GITHUB_PATH
if: matrix.os == 'windows-latest'

- name: Check out code
uses: actions/checkout@v4

- name: Build with build.go
run: |
go run build.go
Expand Down Expand Up @@ -230,14 +230,14 @@ jobs:
name: Cross Compile for subset ${{ matrix.subset }}

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Set up Go ${{ env.latest_go }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.latest_go }}

- name: Check out code
uses: actions/checkout@v4

- name: Cross-compile for subset ${{ matrix.subset }}
run: |
mkdir build-output build-output-debug
Expand All @@ -252,14 +252,14 @@ jobs:
# allow annotating code in the PR
checks: write
steps:
- name: Check out code
uses: actions/checkout@v4

- name: Set up Go ${{ env.latest_go }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.latest_go }}

- name: Check out code
uses: actions/checkout@v4

- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
Expand Down
225 changes: 0 additions & 225 deletions mover-restic/restic/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# 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)
Expand Down Expand Up @@ -36,230 +35,6 @@
* [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 <snapshot>:<subpath> 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 <lock/1234567890>
```

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: <details about error>
```

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.
Expand Down
2 changes: 1 addition & 1 deletion mover-restic/restic/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.17.1
0.17.0
18 changes: 0 additions & 18 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-2004

This file was deleted.

8 changes: 0 additions & 8 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4795

This file was deleted.

11 changes: 0 additions & 11 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4934

This file was deleted.

9 changes: 0 additions & 9 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4944

This file was deleted.

10 changes: 0 additions & 10 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4945

This file was deleted.

7 changes: 0 additions & 7 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4953

This file was deleted.

8 changes: 0 additions & 8 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4957

This file was deleted.

7 changes: 0 additions & 7 deletions mover-restic/restic/changelog/0.17.1_2024-09-05/issue-4969

This file was deleted.

Loading