Michael Eischer
ca4bd1b8ca
Merge pull request #5094 from MichaelEischer/document-restore-delete-safety
...
doc: document safety feature for --target / --delete
2024-10-27 18:21:47 +01:00
Michael Eischer
e320edd416
Merge pull request #5048 from MichaelEischer/fix-macos-fuse
...
Fix unusable `mount` on macOS Sonoma
2024-10-23 22:51:00 +02:00
Michael Eischer
821000cb68
Merge pull request #5097 from MichaelEischer/fix-vss-metadata
...
backup: read extended metadata from snapshot
2024-10-22 19:23:06 +02:00
Michael Eischer
5fe6607127
Merge pull request #5084 from greatroar/utimesnano
...
Simplify and refactor restoring of timestamps
2024-10-19 12:47:13 +00:00
greatroar
8f20d5dcd5
fs: Refactor UtimesNano replacements
...
Previously, nodeRestoreTimestamps would do something like
if node.Type == restic.NodeTypeSymlink {
return nodeRestoreSymlinkTimestamps(...)
}
return syscall.UtimesNano(...)
where nodeRestoreSymlinkTimestamps was either a no-op or a
reimplementation of syscall.UtimesNano that handles symlinks, with some
repeated converting between timestamp types. The Linux implementation
was a bit clumsy, requiring three syscalls to set the timestamps.
In this new setup, there is a function utimesNano that has three
implementations:
* on Linux, it's a modified syscall.UtimesNano that uses
AT_SYMLINK_NOFOLLOW and AT_FDCWD so it can handle any type in a single
call;
* on other Unix platforms, it just calls the syscall function after
skipping symlinks;
* on Windows, it's the modified UtimesNano that was previously called
nodeRestoreSymlinkTimestamps, except with different arguments.
2024-10-19 12:04:09 +02:00
greatroar
f967a33ccc
fs: Use AT_FDCWD in Linux nodeRestoreSymlinkTimestamps
...
There's no need to open the containing directory. This is exactly what
syscall.UtimesNano does, except for the AT_SYMLINK_NOFOLLOW flag.
2024-10-19 11:29:35 +02:00
Michael Eischer
ec43594003
add vss metadata changelog
2024-10-18 22:36:03 +02:00
Michael Eischer
e1faf7b18c
backup: work around file deletion error in test
2024-10-18 22:08:10 +02:00
Michael Eischer
fc6f1b4b06
redirect test log output to t.Log()
2024-10-18 21:43:46 +02:00
Michael Eischer
9f206601af
backup: test that vss backups work if underlying data was removed
2024-10-18 21:43:46 +02:00
Michael Eischer
ca79cb92e3
fs/vss: test that vss functions actually read from snapshot
2024-10-18 21:43:46 +02:00
Michael Eischer
352605d9f0
fs: remove file.Name() from interface
...
The only user was archiver.fileSaver.
2024-10-18 21:43:23 +02:00
Michael Eischer
26b77a543d
archiver: use correct filepath in fileSaver for vss
...
When using the VSS FS, then `f.Name()` contained the filename in the
snapshot. This caused a double mapping when calling NodeFromFileInfo.
2024-10-18 21:41:02 +02:00
Michael Eischer
b988754a6d
fs/vss: reuse functions from underlying FS
...
OpenFile, Stat and Lstat should reuse the underlying FS implementation
to avoid diverging behavior.
2024-10-18 19:30:05 +02:00
Michael Eischer
60960d2405
fs/vss: properly create node from vss path
...
Previously, NodeFromFileInfo used the original file path to create the
node, which also meant that extended metadata was read from there
instead of within the vss snapshot.
2024-10-18 19:27:44 +02:00
Michael Eischer
7c02141548
Merge pull request #5093 from Seefin/fix-containerSAS
...
Fix Azure Container Token Auth
2024-10-17 18:45:06 +00:00
Connor Findlay
b434f560cc
backend/azure: Add tests for both token types
...
Add two new test cases, TestBackendAzureAccountToken and
TestBackendAzureContainerToken, that ensure that the authorization using
both types of token works.
This introduces two new environment variables,
RESTIC_TEST_AZURE_ACCOUNT_SAS and RESTIC_TEST_AZURE_CONTAINER_SAS, that
contain the tokens to use when testing restic. If an environment
variable is missing, the related test is skipped.
2024-10-17 20:38:03 +02:00
Connor Findlay
7bdfcf13fb
changelog: Add changes in issue-4004
...
Add changelog entry in the 'unreleased' sub-folder for changes
introduced when fixing issue #4004 .
2024-10-17 20:38:03 +02:00
Connor Findlay
2e704c69ac
backend/azure: Handle Container SAS/SAT
...
Ignore AuthorizationFailure caused by using a container level SAS/SAT
token when calling GetProperties during the Create() call. This is because the
GetProperties call expects an Account Level token, and the container
level token simply lacks the appropriate permissions. Supressing the
Authorization Failure is OK, because if the token is actually invalid,
this is caught elsewhere when we try to actually use the token to do
work.
2024-10-17 20:38:03 +02:00
Michael Eischer
5838896962
doc: document safety feature for --target / --delete
2024-10-17 19:45:03 +02:00
Michael Eischer
bcd5ac34bb
Merge pull request #5060 from MichaelEischer/proper-nodefromfileinfo
...
fs: move NodeFromFileInfo into FS interface
2024-10-16 21:34:37 +02:00
Michael Eischer
618f306f13
Merge pull request #5054 from phillipp/dump-compress-zip
...
dump: add --compress flag to compress archives
2024-10-16 19:17:47 +00:00
Michael Eischer
75711446e1
fs: move NodeFromFileInfo into FS interface
2024-10-16 21:17:21 +02:00
Michael Eischer
c3b3120e10
Merge pull request #5057 from MichaelEischer/fix-backup-irregular
...
backup: fix handling of files with type irregular
2024-10-16 21:13:08 +02:00
Michael Eischer
e29d38f8bf
dump/zip: test that files are compressed
2024-10-16 21:11:24 +02:00
Michael Eischer
da3c02405b
dump/zip: only compress regular files
2024-10-16 21:09:05 +02:00
Michael Eischer
55c150054d
add irregular files bug changelog
2024-10-16 20:54:08 +02:00
Michael Eischer
012cb06fe9
repair snapshots: remove irregular files
2024-10-16 20:54:08 +02:00
Michael Eischer
f44b7cdf8c
backup: exclude irregular files from backup
...
restic cannot backup irregular files as those don't behave like normal
files. Thus skip them with an error.
2024-10-16 20:54:08 +02:00
Michael Eischer
e91a456656
Merge pull request #5061 from MichaelEischer/fix-timestamp-restore-windows
...
fs: fix restoring timestamps on older Windows versions for long paths
2024-10-16 20:47:17 +02:00
Michael Eischer
e21496f217
Merge pull request #5074 from greatroar/dump
...
dump: Simplify writeNode and use fewer goroutines
2024-10-16 18:33:35 +00:00
Michael Eischer
0c0d8b8cfd
Merge pull request #5083 from greatroar/errors
...
Some error handling patches
2024-10-16 18:22:49 +00:00
Michael Eischer
60cba55647
Merge pull request #5079 from restic/dependabot/go_modules/google.golang.org/api-0.199.0
...
build(deps): bump google.golang.org/api from 0.195.0 to 0.199.0
2024-10-09 20:35:03 +00:00
dependabot[bot]
221fa0fa7c
build(deps): bump google.golang.org/api from 0.195.0 to 0.199.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.195.0 to 0.199.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases )
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.195.0...v0.199.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-09 20:26:34 +00:00
Michael Eischer
7cfd8a6715
Merge pull request #5080 from restic/dependabot/go_modules/golang.org/x/oauth2-0.23.0
...
build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0
2024-10-09 20:15:43 +00:00
Michael Eischer
0ada0b56b6
Merge pull request #5078 from restic/dependabot/go_modules/github.com/minio/minio-go/v7-7.0.77
...
build(deps): bump github.com/minio/minio-go/v7 from 7.0.76 to 7.0.77
2024-10-09 20:09:05 +00:00
Michael Eischer
7c12bd59a0
Merge pull request #5053 from rominf/rominf-generate-stdout
...
generate: allow passing `-` for stdout output
2024-10-09 20:06:54 +00:00
Michael Eischer
888abff7e0
Merge pull request #5058 from MichaelEischer/clarify-changelog
...
Changelogs should omit problem if its description duplicates the new behavior
2024-10-09 22:06:41 +02:00
Michael Eischer
783901726e
Merge pull request #5056 from MichaelEischer/fix-tag-error-handling
...
tag: fix swallowed error if repository cannot be opened
2024-10-09 22:06:26 +02:00
dependabot[bot]
eac00eb933
build(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0
...
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2 ) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.22.0...v0.23.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-09 19:58:42 +00:00
Michael Eischer
96c1c1a0fc
Merge pull request #5075 from greatroar/idset
...
internal/restic: Use IDSet.Clone + use maps package
2024-10-09 19:55:26 +00:00
Michael Eischer
8d7f4574b4
Merge pull request #5077 from restic/dependabot/go_modules/go.uber.org/automaxprocs-1.6.0
...
build(deps): bump go.uber.org/automaxprocs from 1.5.3 to 1.6.0
2024-10-09 19:51:15 +00:00
Michael Eischer
ddf65b04f3
Merge pull request #5076 from restic/dependabot/go_modules/golang.org/x/sys-0.25.0
...
build(deps): bump golang.org/x/sys from 0.24.0 to 0.25.0
2024-10-09 19:50:45 +00:00
greatroar
2b609d3e77
errors, fs: Replace CombineErrors with stdlib Join
...
This does not produce exactly the same messages, as it inserts newlines
instead of "; ". But given how long our error messages can be, that
might be a good thing.
2024-10-05 10:56:40 +02:00
greatroar
19653f9e06
fs: Simplify NodeCreateAt
2024-10-05 10:56:39 +02:00
greatroar
e10e2bb50f
fs: Include filename in mknod errors
2024-10-05 10:56:39 +02:00
greatroar
b5c28a7ba2
internal/restic: Use IDSet.Clone + use maps package
...
One place where IDSet.Clone is useful was reinventing it, using a
conversion to list, a sort, and a conversion back to map.
Also, use the stdlib "maps" package to implement as much of IDSet as
possible. This requires changing one caller, which assumed that cloning
nil would return a non-nil IDSet.
2024-10-03 21:14:29 +02:00
dependabot[bot]
f3f629bb69
build(deps): bump github.com/minio/minio-go/v7 from 7.0.76 to 7.0.77
...
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go ) from 7.0.76 to 7.0.77.
- [Release notes](https://github.com/minio/minio-go/releases )
- [Commits](https://github.com/minio/minio-go/compare/v7.0.76...v7.0.77 )
---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 01:49:46 +00:00
dependabot[bot]
e90085b375
build(deps): bump go.uber.org/automaxprocs from 1.5.3 to 1.6.0
...
Bumps [go.uber.org/automaxprocs](https://github.com/uber-go/automaxprocs ) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/uber-go/automaxprocs/releases )
- [Changelog](https://github.com/uber-go/automaxprocs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/uber-go/automaxprocs/compare/v1.5.3...v1.6.0 )
---
updated-dependencies:
- dependency-name: go.uber.org/automaxprocs
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 01:49:41 +00:00
dependabot[bot]
3f08dee685
build(deps): bump golang.org/x/sys from 0.24.0 to 0.25.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/sys/compare/v0.24.0...v0.25.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 01:49:38 +00:00