Winfried Plappert
c5e09ae9b1
docs: expand restic find - documentation ( #5675 )
2026-02-19 18:07:05 +00:00
Winfried Plappert
1f329cd933
docs: expand documentation about testing ( #5346 )
2026-02-19 18:26:15 +01:00
Johannes Truschnigg
a8f0ad5cc4
mount: check for more requisite mountpoint conditions ( #5718 )
...
* mount: check for more requisite mountpoint conditions
In order to be able to mount a repository over a mountpoint target
directory via FUSE, that target directory needs to be both writeable and
executable for the UID performing the mount.
Without this patch, `restic mount` only checks for the target pathname's
existence, which can lead to a lot of data transfer and/or computation
for large repos to be performed before eventually croaking with a fatal
"fusermount: failed to chdir to mountpoint: Permission denied" (or
similar) error.
FUSE does allow for mounting over a target path that refers to a regular
(writeable) file, but the result is not accessible via chdir(), so we
prevent that as well, and accept only directory inodes as the intended
target mountpoint path.
* Don't use snake_case identifiers
* Add changelog entry
* tweak changelog summary
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-02-19 17:11:49 +00:00
Michael Eischer
4c56384481
docs: describe assigning ambient capabilities using systemd ( #5698 )
...
---
Co-authored-by: udf2457 <udf2457@users.noreply.github.com >
2026-02-18 22:33:21 +01:00
Winfried Plappert
8b567a9270
Bugfix restic find: missing check for mtime --oldest/--newest ( #5310 )
2026-02-18 21:14:35 +00:00
Michael Eischer
27c560b371
Merge pull request #5650 from fabien-joubert/docs-warning-capabilities
...
docs: add warning for capability-based non-root backups
2026-02-18 21:44:04 +01:00
Andreas Scherbaum
66d915ef79
Add space in error message ( #5704 )
2026-02-18 20:27:02 +00:00
Michael Eischer
7077500a3b
Have backup -vv mention compressed size of added files ( #5669 )
...
ui: mention compressed size of added files in `backup -vv`
This is already shown for modified files, but the added files message
wasn't updated when compression was implemented in restic.
Co-authored-by: Ilya Grigoriev <ilyagr@users.noreply.github.com >
2026-02-18 21:24:29 +01:00
Michael Eischer
6566f786e9
stats: also print snapshot size statistics in debug mode ( #5712 )
2026-02-18 21:21:40 +01:00
Michael Eischer
d1937a530b
clarify pack ID in decryption error ( #5710 )
...
pack ID is included in full. In addition, the error message now says
that it is a pack file.
2026-02-18 20:43:10 +01:00
gunar
7101f11133
Fail fast for invalid RESTIC_PACK_SIZE env values ( #5592 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-02-01 15:45:31 +01:00
Michael Eischer
8bff5cead0
Merge pull request #5696 from restic/dependabot/go_modules/github.com/minio/minio-go/v7-7.0.98
2026-02-01 12:29:55 +01:00
Michael Eischer
5e43a44b15
Merge pull request #5680 from castilma/unlock-doc
2026-02-01 12:13:52 +01:00
Michael Eischer
67c13c643d
Merge pull request #5691 from MichaelEischer/fix-rewriter-error
2026-02-01 12:09:52 +01:00
dependabot[bot]
b706c19614
build(deps): bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98
...
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go ) from 7.0.97 to 7.0.98.
- [Release notes](https://github.com/minio/minio-go/releases )
- [Commits](https://github.com/minio/minio-go/compare/v7.0.97...v7.0.98 )
---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
dependency-version: 7.0.98
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 11:04:31 +00:00
Michael Eischer
da2ed89ffd
Merge pull request #5697 from restic/dependabot/go_modules/github.com/klauspost/compress-1.18.3
2026-02-01 12:01:36 +01:00
Michael Eischer
cf3793bb41
Merge pull request #5695 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.4
2026-02-01 12:00:39 +01:00
Michael Eischer
db8e379fd4
Merge pull request #5694 from restic/dependabot/go_modules/cloud.google.com/go/storage-1.59.2
2026-02-01 12:00:05 +01:00
Michael Eischer
4f73daa761
Merge pull request #5693 from restic/dependabot/go_modules/golang-x-deps-173d0ad829
2026-02-01 11:59:31 +01:00
Michael Eischer
48cfa908ed
Merge pull request #5692 from restic/dependabot/github_actions/docker/login-action-3.7.0
2026-02-01 11:56:38 +01:00
Michael Eischer
d3c225627f
Merge pull request #5682 from wplapper/docs_list
2026-02-01 11:55:37 +01:00
Michael Eischer
07d380d54b
Merge pull request #5191 from wplapper/cmd_rewrite_include
2026-02-01 11:53:05 +01:00
Winfried Plappert
b544e71cac
restic list doc - documenmtation
...
fixed wording for paragraph and inconsistent underlining
2026-02-01 06:12:56 +00:00
Winfried Plappert
099650f883
docs: restic list
...
corrected typo
2026-02-01 06:02:39 +00:00
Winfried Plappert
6154685c3a
docs: add documentation for restic list
...
added a file doc/view_repository.rst which contains the
description of `restic list ...`
2026-02-01 06:02:39 +00:00
dependabot[bot]
66bb196591
build(deps): bump github.com/klauspost/compress from 1.18.2 to 1.18.3
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.18.2 to 1.18.3.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Commits](https://github.com/klauspost/compress/compare/v1.18.2...v1.18.3 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-version: 1.18.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 01:43:15 +00:00
dependabot[bot]
2be17d2313
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/storage/azblob/v1.6.3...sdk/storage/azblob/v1.6.4 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 01:42:57 +00:00
dependabot[bot]
34ba097162
build(deps): bump cloud.google.com/go/storage from 1.58.0 to 1.59.2
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.58.0 to 1.59.2.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.58.0...storage/v1.59.2 )
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.59.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 01:42:48 +00:00
dependabot[bot]
38f1fb61f3
build(deps): bump the golang-x-deps group with 5 updates
...
Bumps the golang-x-deps group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [golang.org/x/crypto](https://github.com/golang/crypto ) | `0.46.0` | `0.47.0` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.48.0` | `0.49.0` |
| [golang.org/x/sys](https://github.com/golang/sys ) | `0.39.0` | `0.40.0` |
| [golang.org/x/term](https://github.com/golang/term ) | `0.38.0` | `0.39.0` |
| [golang.org/x/text](https://github.com/golang/text ) | `0.32.0` | `0.33.0` |
Updates `golang.org/x/crypto` from 0.46.0 to 0.47.0
- [Commits](https://github.com/golang/crypto/compare/v0.46.0...v0.47.0 )
Updates `golang.org/x/net` from 0.48.0 to 0.49.0
- [Commits](https://github.com/golang/net/compare/v0.48.0...v0.49.0 )
Updates `golang.org/x/sys` from 0.39.0 to 0.40.0
- [Commits](https://github.com/golang/sys/compare/v0.39.0...v0.40.0 )
Updates `golang.org/x/term` from 0.38.0 to 0.39.0
- [Commits](https://github.com/golang/term/compare/v0.38.0...v0.39.0 )
Updates `golang.org/x/text` from 0.32.0 to 0.33.0
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.32.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/net
dependency-version: 0.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/sys
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/term
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/text
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 01:42:37 +00:00
dependabot[bot]
827c7bcae8
build(deps): bump docker/login-action from 3.6.0 to 3.7.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](5e57cd1181...c94ce9fb46 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 01:42:36 +00:00
Winfried Plappert
bcd4168428
Enhancement: calls to SnapshotFilter.FindLatest() can be simplified ( #5688 )
2026-01-31 23:04:01 +01:00
Michael Eischer
901235efc9
rewrite: skip snapshot parts not matchable by include patterns
2026-01-31 22:42:02 +01:00
Michael Eischer
ef1d525f22
rewriter: return correct error if tree iteration fails
2026-01-31 22:07:07 +01:00
Michael Eischer
74d60ad223
rewriter: test KeepEmptyDirectory option
2026-01-31 22:01:23 +01:00
Michael Eischer
0d71f70a22
minor cleanups and typos
2026-01-31 22:01:23 +01:00
Winfried Plappert
ee154ce0ab
restic rewrite --include
...
added function Count() to the *TreeWriter methods
2026-01-31 19:58:29 +00:00
Winfried Plappert
b6af01bb28
restic rewrite integration test
...
convert exclusive lock on repository to 'no-lock'
2026-01-31 19:43:03 +00:00
Winfried Plappert
5148608c39
restic rewrite include - based on restic 0.18.1
...
cmd/restic/cmd_rewrite.go:
introduction of include filters for this command:
- add include filters, add error checking code
- add new parameter 'keepEmptyDirectoryFunc' to 'walker.NewSnapshotSizeRewriter()',
so empty directories have to be kept to keep the directory structure intact
- add parameter 'keepEmptySnapshot' to 'filterAndReplaceSnapshot()' to keep snapshots
intact when nothing is to be included
- introduce helper function 'gatherIncludeFilters()' and 'gatherExcludeFilters()' to
keep code flow clean
cmd/restic/cmd_rewrite_integration_test.go:
add several new tests around the 'include' functionality
internal/filter/include.go:
this is where is include filter is defined
internal/walker/rewriter.go:
- struct RewriteOpts gains field 'KeepEmtpyDirectory', which is a 'NodeKeepEmptyDirectoryFunc()'
which defaults to nil, so that al subdirectories are kept
- function 'NewSnapshotSizeRewriter()' gains the parameter 'keepEmptyDirecoryFilter' which
controls the management of empty subdirectories in case of include filters active
internal/data/tree.go:
gains a function Count() for checking the number if node elements in a newly built tree
internal/walker/rewriter_test.go:
function 'NewSnapshotSizeRewriter()' gets an additional parameter nil to keeps things happy
cmd/restic/cmd_repair_snapshots.go:
function 'filterAndReplaceSnapshot()' gets an additional parameter 'keepEmptySnapshot=nil'
doc/045_working_with_repos.rst:
gets to mention include filters
changelog/unreleased/issue-4278:
the usual announcement file
git rebase master -i produced this
restic rewrite include - keep linter happy
cmd/restic/cmd_rewrite_integration_test.go:
linter likes strings.Contain() better than my strings.Index() >= 0
2026-01-31 19:42:56 +00:00
Michael Eischer
083cdf0675
Merge pull request #5613 from MichaelEischer/tree-node-iterator
2026-01-31 20:10:57 +01:00
Michael Eischer
ce7c144aac
data: add support for unknown keys to treeIterator
...
While not planned, it's also not completely impossible that a tree node
might get additional top-level fields. As the tree iterator is built
with a strict expectation of the top-level fields, this would result in
a parsing error. Future-proof the code by simply skipping unknown
fields.
2026-01-31 20:03:38 +01:00
Michael Eischer
81948937ca
data: test DualTreeIterator
2026-01-31 20:03:38 +01:00
Michael Eischer
fa8889eec4
data: test LoadTree+SaveTree cycle
2026-01-31 20:03:38 +01:00
Michael Eischer
6de64911fb
data: test TreeFinder
2026-01-31 20:03:38 +01:00
Michael Eischer
17688c2313
data: move TestTreeMap to data package to allow reuse
2026-01-31 20:03:38 +01:00
Michael Eischer
e1a5550a27
test: use generics in Equal function signature
...
This simplifies comparing a typed value against nil. Previously it was
necessary to case nil into the proper type.
2026-01-31 20:03:38 +01:00
Michael Eischer
24d56fe2a6
diff: switch to efficient DualTreeIterator
...
The previous implementation stored the whole tree in a map and used it
for checking overlap between trees. This is now replaced with the
DualTreeIterator, which iterates over two trees in parallel and returns
the merge stream in order. In case of overlap between both trees, it
returns both nodes at the same time. Otherwise, only a single node is
returned.
2026-01-31 20:03:38 +01:00
Michael Eischer
350f29d921
data: replace Tree with TreeNodeIterator
...
The TreeNodeIterator decodes nodes while iterating over a tree blob.
This should reduce peak memory usage as now only the serialized tree
blob and a single node have to alive at the same time. Using the
iterator has implications for the error handling however. Now it is
necessary that all loops that iterate through a tree check for errors
before using the node returned by the iterator.
The other change is that it is no longer possible to iterate over a tree
multiple times. Instead it must be loaded a second time. This only
affects the tree rewriting code.
2026-01-31 20:03:38 +01:00
Michael Eischer
1e183509d4
data: rework StreamTrees to use synchronous callbacks
...
The tree.Nodes will be replaced by an iterator to loads and serializes
tree node ondemand. Thus, the processing moves from StreamTrees into the
callback. Schedule them onto the workers used by StreamTrees for proper
load distribution.
2026-01-31 20:03:38 +01:00
Michael Eischer
25a5aa3520
dump: fix missing error handling if tree cannot be read
2026-01-31 19:18:36 +01:00
Michael Eischer
278e457e1f
data: use data.TreeWriter to serialize&write data.Tree
...
Always serialize trees via TreeJSONBuilder. Add a wrapper called
TreeWriter which combines serialization and saving the tree blob in the
repository. In the future, TreeJSONBuilder will have to upload tree
chunks while the tree is still serialized. This will a wrapper like
TreeWriter, so add it right now already.
The archiver.treeSaver still directly uses the TreeJSONBuilder as it
requires special handling.
2026-01-31 19:18:36 +01:00
Michael Eischer
f84d398989
repository: prevent test deadlock within WithBlobUploader
...
Calling t.Fatal internally triggers runtime.Goexit . This kills the
current goroutine while only running deferred code. Add an extra context
that gets canceled if the go routine exits while within the user
provided callback.
2026-01-31 19:18:36 +01:00
Michael Eischer
d82ea53735
data: fix invalid trees used in test cases
...
data.TestCreateSnapshot which is used in particular by TestFindUsedBlobs
and TestFindUsedBlobs could generate trees with duplicate file names.
This is invalid and going forward will result in an error.
2026-01-31 19:18:36 +01:00
Michael Eischer
34fdf5ba96
Merge pull request #5636 from MichaelEischer/clarify-parameter-docs
2026-01-31 19:15:24 +01:00
Michael Eischer
70591f00ed
Merge pull request #5690 from restic/backend-no-restic-imports
2026-01-31 19:13:07 +01:00
Michael Eischer
4bc6bb7e27
slightly reduce redundant wording
2026-01-31 19:07:06 +01:00
Michael Eischer
2628daba97
CI: prevent backends from importing internal/restic package
2026-01-31 12:00:04 +01:00
Martin Castillo
2269ec82e1
man: add note about append-only mode to restic-unlock.1
...
Since restic unlock _removes_ locks, a user might wonder
whether this works in append-only mode, which prevents deletion of
data. This change explicitly mentions in the man page that the deletion
of locks is an allowed exception.
2026-01-27 12:07:47 +01:00
Winfried Plappert
86ccc6d445
Bugfix: restic check: add missing finalizeSnapshotFilter() ( #5644 )
...
add missing finalizeSnapshotFilter() to cmd.RunE()
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-01-26 21:08:15 +00:00
Michael Eischer
d0a5d0e2f7
Merge pull request #5657 from restic/dependabot/go_modules/github.com/spf13/cobra-1.10.2
...
build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2
2026-01-26 21:52:26 +01:00
Michael Eischer
fa13f1895f
Merge pull request #5658 from restic/dependabot/go_modules/github.com/elithrar/simple-scrypt-1.4.0
...
build(deps): bump github.com/elithrar/simple-scrypt from 1.3.0 to 1.4.0
2026-01-26 21:48:28 +01:00
Michael Eischer
880b08f9ec
Merge pull request #5627 from MichaelEischer/faster-files-writer
...
restore: tune fileswriter
2026-01-26 21:45:49 +01:00
dependabot[bot]
1368db5777
build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Commits](https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-version: 1.10.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-26 20:40:43 +00:00
Michael Eischer
f78e3f369d
Merge pull request #5637 from MichaelEischer/docs-table-width
...
docs: fix table width
2026-01-26 21:38:34 +01:00
Michael Eischer
39271a9984
Merge pull request #5656 from restic/dependabot/go_modules/cloud.google.com/go/storage-1.58.0
...
build(deps): bump cloud.google.com/go/storage from 1.57.2 to 1.58.0
2026-01-26 21:37:24 +01:00
Michael Eischer
2c1e8a0412
Merge pull request #5655 from restic/dependabot/go_modules/github.com/klauspost/compress-1.18.2
...
build(deps): bump github.com/klauspost/compress from 1.18.1 to 1.18.2
2026-01-26 21:36:53 +01:00
Michael Eischer
155372404a
Merge pull request #5654 from restic/dependabot/go_modules/golang-x-deps-f1409dc592
...
build(deps): bump the golang-x-deps group with 7 updates
2026-01-26 21:36:18 +01:00
Ilya Grigoriev
79c37f3d1a
ui: mention compressed size of added files in backup -vv
...
This is already shown for modified files, but the added files message
wasn't updated when compression was implemented in restic.
2026-01-15 18:39:16 -08:00
dependabot[bot]
80531dbe53
build(deps): bump github.com/elithrar/simple-scrypt from 1.3.0 to 1.4.0
...
Bumps [github.com/elithrar/simple-scrypt](https://github.com/elithrar/simple-scrypt ) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/elithrar/simple-scrypt/releases )
- [Commits](https://github.com/elithrar/simple-scrypt/compare/v1.3.0...v1.4.0 )
---
updated-dependencies:
- dependency-name: github.com/elithrar/simple-scrypt
dependency-version: 1.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-01 01:02:15 +00:00
dependabot[bot]
40fe9f34e7
build(deps): bump cloud.google.com/go/storage from 1.57.2 to 1.58.0
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.57.2 to 1.58.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/storage/v1.57.2...spanner/v1.58.0 )
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.58.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-01 01:02:06 +00:00
dependabot[bot]
4d0ec87f35
build(deps): bump github.com/klauspost/compress from 1.18.1 to 1.18.2
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.18.1 to 1.18.2.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Commits](https://github.com/klauspost/compress/compare/v1.18.1...v1.18.2 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-version: 1.18.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-01 01:01:51 +00:00
dependabot[bot]
d6f376b6c8
build(deps): bump the golang-x-deps group with 7 updates
...
Bumps the golang-x-deps group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [golang.org/x/crypto](https://github.com/golang/crypto ) | `0.45.0` | `0.46.0` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.47.0` | `0.48.0` |
| [golang.org/x/oauth2](https://github.com/golang/oauth2 ) | `0.33.0` | `0.34.0` |
| [golang.org/x/sync](https://github.com/golang/sync ) | `0.18.0` | `0.19.0` |
| [golang.org/x/sys](https://github.com/golang/sys ) | `0.38.0` | `0.39.0` |
| [golang.org/x/term](https://github.com/golang/term ) | `0.37.0` | `0.38.0` |
| [golang.org/x/text](https://github.com/golang/text ) | `0.31.0` | `0.32.0` |
Updates `golang.org/x/crypto` from 0.45.0 to 0.46.0
- [Commits](https://github.com/golang/crypto/compare/v0.45.0...v0.46.0 )
Updates `golang.org/x/net` from 0.47.0 to 0.48.0
- [Commits](https://github.com/golang/net/compare/v0.47.0...v0.48.0 )
Updates `golang.org/x/oauth2` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/oauth2/compare/v0.33.0...v0.34.0 )
Updates `golang.org/x/sync` from 0.18.0 to 0.19.0
- [Commits](https://github.com/golang/sync/compare/v0.18.0...v0.19.0 )
Updates `golang.org/x/sys` from 0.38.0 to 0.39.0
- [Commits](https://github.com/golang/sys/compare/v0.38.0...v0.39.0 )
Updates `golang.org/x/term` from 0.37.0 to 0.38.0
- [Commits](https://github.com/golang/term/compare/v0.37.0...v0.38.0 )
Updates `golang.org/x/text` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.31.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.46.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/net
dependency-version: 0.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/oauth2
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/sync
dependency-version: 0.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/sys
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/term
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/text
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-01 01:01:44 +00:00
fabien-joubert
8179c4f676
docs: add warning for capability-based non-root backups
2025-12-27 22:38:16 +01:00
Michael Eischer
9e2d60e28c
Merge pull request #5632 from restic/dependabot/go_modules/github.com/minio/minio-go/v7-7.0.97
...
build(deps): bump github.com/minio/minio-go/v7 from 7.0.95 to 7.0.97
2025-12-03 21:34:27 +01:00
Michael Eischer
ebc51e60c9
Merge pull request #5626 from MichaelEischer/lazy-status
...
ui: only redraw status bar if it has not changed
2025-12-03 21:29:35 +01:00
dependabot[bot]
a9a13afcec
build(deps): bump github.com/minio/minio-go/v7 from 7.0.95 to 7.0.97
...
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go ) from 7.0.95 to 7.0.97.
- [Release notes](https://github.com/minio/minio-go/releases )
- [Commits](https://github.com/minio/minio-go/compare/v7.0.95...v7.0.97 )
---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
dependency-version: 7.0.97
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-03 20:24:30 +00:00
Michael Eischer
d7b87cedbc
Merge pull request #5630 from restic/dependabot/go_modules/github.com/ncw/swift/v2-2.0.5
...
build(deps): bump github.com/ncw/swift/v2 from 2.0.4 to 2.0.5
2025-12-03 21:23:18 +01:00
Michael Eischer
a8be8e36fa
Merge pull request #5621 from MichaelEischer/copy-stream-snapshots
...
copy: iterate through snapshots
2025-12-03 21:21:05 +01:00
dependabot[bot]
74f72ec707
build(deps): bump github.com/ncw/swift/v2 from 2.0.4 to 2.0.5
...
Bumps [github.com/ncw/swift/v2](https://github.com/ncw/swift ) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/ncw/swift/releases )
- [Changelog](https://github.com/ncw/swift/blob/master/RELEASE.md )
- [Commits](https://github.com/ncw/swift/compare/v2.0.4...v2.0.5 )
---
updated-dependencies:
- dependency-name: github.com/ncw/swift/v2
dependency-version: 2.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-03 20:06:29 +00:00
Michael Eischer
0b0b714b84
Merge pull request #5628 from MichaelEischer/cleanup-old-build-lines
...
remove old // +build comments
2025-12-03 21:06:11 +01:00
Michael Eischer
3df4582b2b
Merge pull request #5635 from restic/dependabot/github_actions/golangci/golangci-lint-action-9
...
build(deps): bump golangci/golangci-lint-action from 8 to 9
2025-12-03 21:03:55 +01:00
Michael Eischer
a24184357e
Merge pull request #5634 from restic/dependabot/github_actions/actions/checkout-6
...
build(deps): bump actions/checkout from 5 to 6
2025-12-03 21:00:50 +01:00
Michael Eischer
0d024ad046
Merge pull request #5631 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.13.1
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.13.0 to 1.13.1
2025-12-03 20:58:55 +01:00
Michael Eischer
3efd7b5fd0
Merge pull request #5629 from restic/dependabot/go_modules/github.com/klauspost/compress-1.18.1
...
build(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.1
2025-12-03 20:58:48 +01:00
Michael Eischer
4fd9bfc32b
docs: fix table width
2025-12-03 20:38:21 +01:00
Michael Eischer
7a3b06f78a
docs: move environment variables to the scripting section
2025-12-03 18:38:36 +01:00
Michael Eischer
a58d176500
docs: clarify that parameter tuning applies to all commands
2025-12-03 18:33:00 +01:00
dependabot[bot]
0af1257184
build(deps): bump golangci/golangci-lint-action from 8 to 9
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 8 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v8...v9 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '9'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-01 01:14:24 +00:00
dependabot[bot]
a3f1c65022
build(deps): bump actions/checkout from 5 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-01 01:14:22 +00:00
dependabot[bot]
fa4ca9b5b4
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.13.0...sdk/azidentity/v1.13.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-01 01:04:00 +00:00
dependabot[bot]
ebdeecde42
build(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.1
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Commits](https://github.com/klauspost/compress/compare/v1.18.0...v1.18.1 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-version: 1.18.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-01 01:03:43 +00:00
Michael Eischer
1e6ed458ff
remove old // +build comments
2025-11-30 11:53:23 +01:00
Michael Eischer
760d0220f4
restorer: scale file cache with workers count
2025-11-30 11:01:01 +01:00
Michael Eischer
24fcfeafcb
restore: cache file descriptors
...
This avoid opening and closing files after each single blob write
2025-11-30 10:56:15 +01:00
Michael Eischer
0ee9360f3e
restore: reduce contention while writing files
2025-11-29 23:09:04 +01:00
Michael Eischer
ae6d6bd9a6
ui: only redraw status bar if it has not changed
2025-11-29 22:09:41 +01:00
Aneesh N
b9afdf795e
Fix: Correctly restore ACL inheritance state ( #5465 )
...
* Fix: Correctly restore ACL inheritance state
When restoring a file or directory on Windows, the `IsInherited` property of its Access Control Entries (ACEs) was always being set to `False`, even if the ACEs were inherited in the original backup.
This was caused by the restore process calling the `SetNamedSecurityInfo` API without providing context about the object's inheritance policy. By default, this API applies the provided Discretionary Access Control List (DACL) as an explicit set of permissions, thereby losing the original inheritance state.
This commit fixes the issue by inspecting the `Control` flags of the saved Security Descriptor during restore. Based on whether the `SE_DACL_PROTECTED` flag is present, the code now adds the appropriate `PROTECTED_DACL_SECURITY_INFORMATION` or `UNPROTECTED_DACL_SECURITY_INFORMATION` flag to the `SetNamedSecurityInfo` API call.
By providing this crucial inheritance context, the Windows API can now correctly reconstruct the ACL, ensuring the `IsInherited` status of each ACE is preserved as it was at the time of backup.
* Fix: Correctly restore ACL inheritance flags
This commit resolves an issue where the ACL inheritance state (`IsInherited` property) was not being correctly restored for files and directories on Windows.
The root cause was that the `SECURITY_INFORMATION` flags used in the `SetNamedSecurityInfo` API call contained both the `PROTECTED_DACL_SECURITY_INFORMATION` and `UNPROTECTED_DACL_SECURITY_INFORMATION` flags simultaneously. When faced with this conflicting information, the Windows API defaulted to the more restrictive `PROTECTED` behavior, incorrectly disabling inheritance on restored items.
The fix modifies the `setNamedSecurityInfoHigh` function to first clear all existing inheritance-related flags from the `securityInfo` bitmask. It then adds the single, correct flag (`PROTECTED` or `UNPROTECTED`) based on the `SE_DACL_PROTECTED` control bit from the original, saved Security Descriptor.
This ensures that the API receives unambiguous instructions, allowing it to correctly preserve the inheritance state as it was at the time of backup. The accompanying test case for ACL inheritance now passes with this change.
* Fix inheritance flag handling in low-privilege security descriptor restore
When restoring files without admin privileges, the IsInherited property
of Access Control Entries (ACEs) was not being preserved correctly.
The low-privilege restore path (setNamedSecurityInfoLow) was using a
static PROTECTED_DACL_SECURITY_INFORMATION flag, which always marked
the restored DACL as explicitly set rather than inherited.
This commit updates setNamedSecurityInfoLow to dynamically determine
the correct inheritance flag based on the SE_DACL_PROTECTED control
flag from the original security descriptor, matching the behavior of
the high-privilege path (setNamedSecurityInfoHigh).
Changes:
- Update setNamedSecurityInfoLow to accept control flags parameter
- Add logic to set either PROTECTED_DACL_SECURITY_INFORMATION or
UNPROTECTED_DACL_SECURITY_INFORMATION based on the original SD
- Add TestRestoreSecurityDescriptorInheritanceLowPrivilege to verify
inheritance is correctly restored in low-privilege scenarios
This ensures that both admin and non-admin restore operations correctly
preserve the inheritance state of ACLs, maintaining the original
permissions flow on child objects.
Addresses review feedback on PR for issue #5427
* Refactor security flags into separate backup/restore variants
Split highSecurityFlags into highBackupSecurityFlags and
highRestoreSecurityFlags to avoid runtime bitwise operations.
This makes the code cleaner and more maintainable by using
appropriate flags for GET vs SET operations.
Addresses review feedback on PR for issue #5427
---------
Co-authored-by: Aneesh Nireshwalia <anireshw@akamai.com >
2025-11-28 19:22:47 +00:00
Winfried Plappert
ce57961f14
restic check with snapshot filters ( #5469 )
...
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-11-28 19:12:38 +00:00
Michael Eischer
e1bc2fb71a
copy: iterate through snapshots
2025-11-26 22:48:54 +01:00
Michael Eischer
8fdbdc57a0
Merge pull request #5581 from restic/dependabot/go_modules/google.golang.org/api-0.254.0
...
build(deps): bump google.golang.org/api from 0.248.0 to 0.254.0
2025-11-26 22:24:43 +01:00
dependabot[bot]
69ac0d84ac
build(deps): bump google.golang.org/api from 0.248.0 to 0.254.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.248.0 to 0.254.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.248.0...v0.254.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.254.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-26 21:12:48 +00:00
Michael Eischer
0a96f0d623
Merge pull request #5578 from restic/dependabot/go_modules/cloud.google.com/go/storage-1.57.1
...
build(deps): bump cloud.google.com/go/storage from 1.56.1 to 1.57.1
2025-11-26 22:12:09 +01:00
Michael Eischer
0d8b715d92
Merge pull request #5547 from restic/dependabot/go_modules/golang-x-deps-3a742399ff
...
build(deps): bump the golang-x-deps group with 8 updates
2025-11-26 22:11:35 +01:00
dependabot[bot]
31e3717b25
build(deps): bump the golang-x-deps group with 8 updates
...
Bumps the golang-x-deps group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [golang.org/x/crypto](https://github.com/golang/crypto ) | `0.41.0` | `0.42.0` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.43.0` | `0.44.0` |
| [golang.org/x/oauth2](https://github.com/golang/oauth2 ) | `0.30.0` | `0.31.0` |
| [golang.org/x/sync](https://github.com/golang/sync ) | `0.16.0` | `0.17.0` |
| [golang.org/x/sys](https://github.com/golang/sys ) | `0.35.0` | `0.36.0` |
| [golang.org/x/term](https://github.com/golang/term ) | `0.34.0` | `0.35.0` |
| [golang.org/x/text](https://github.com/golang/text ) | `0.28.0` | `0.29.0` |
| [golang.org/x/time](https://github.com/golang/time ) | `0.12.0` | `0.13.0` |
Updates `golang.org/x/crypto` from 0.41.0 to 0.42.0
- [Commits](https://github.com/golang/crypto/compare/v0.41.0...v0.42.0 )
Updates `golang.org/x/net` from 0.43.0 to 0.44.0
- [Commits](https://github.com/golang/net/compare/v0.43.0...v0.44.0 )
Updates `golang.org/x/oauth2` from 0.30.0 to 0.31.0
- [Commits](https://github.com/golang/oauth2/compare/v0.30.0...v0.31.0 )
Updates `golang.org/x/sync` from 0.16.0 to 0.17.0
- [Commits](https://github.com/golang/sync/compare/v0.16.0...v0.17.0 )
Updates `golang.org/x/sys` from 0.35.0 to 0.36.0
- [Commits](https://github.com/golang/sys/compare/v0.35.0...v0.36.0 )
Updates `golang.org/x/term` from 0.34.0 to 0.35.0
- [Commits](https://github.com/golang/term/compare/v0.34.0...v0.35.0 )
Updates `golang.org/x/text` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.28.0...v0.29.0 )
Updates `golang.org/x/time` from 0.12.0 to 0.13.0
- [Commits](https://github.com/golang/time/compare/v0.12.0...v0.13.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/net
dependency-version: 0.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/oauth2
dependency-version: 0.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/sync
dependency-version: 0.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/sys
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/term
dependency-version: 0.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/text
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
- dependency-name: golang.org/x/time
dependency-version: 0.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang-x-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-26 20:56:35 +00:00
dependabot[bot]
42133ccffe
build(deps): bump cloud.google.com/go/storage from 1.56.1 to 1.57.1
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.56.1 to 1.57.1.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/storage/v1.56.1...storage/v1.57.1 )
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.57.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-26 20:56:27 +00:00
Michael Eischer
77374b5bf0
Merge pull request #5619 from restic/bump-go-version
...
bump minimum go version to 1.24
2025-11-26 21:55:02 +01:00
Michael Eischer
f3a89bfff6
Merge pull request #5612 from MichaelEischer/repository-async-saveblob
...
repository: add async blob upload method
2025-11-26 21:34:35 +01:00
Michael Eischer
7696e4b495
bump minimum go version to 1.24
2025-11-26 21:33:40 +01:00
Michael Eischer
5cc8636047
Merge pull request #5614 from MichaelEischer/fix-lookupblobsize
...
repository: fix LookupBlobSize to also return pending blobs
2025-11-26 21:24:32 +01:00
Michael Eischer
6769d26068
archiver: improve test reliability
2025-11-26 21:21:16 +01:00
Michael Eischer
5607fd759f
repository: fix race condition for blobSaver shutdown
...
wg.Go() may not be called after wg.Wait(). This prevents connecting two
errgroups such that the errors are propagated between them if the child
errgroup dynamically starts goroutines. Instead use just a single errgroup,
and sequence the shutdown using a sync.WaitGroup. This is far simpler
and does not require any "clever" tricks.
2025-11-26 21:18:22 +01:00
Michael Eischer
9f87e9096a
repository: add tests for SaveBlobAsync
2025-11-26 21:18:22 +01:00
Michael Eischer
d8dcd6d115
archiver: add buffer test
2025-11-26 21:18:22 +01:00
Michael Eischer
3f92987974
archiver: assert number of uploaded chunks in fileSaver test
2025-11-26 21:18:22 +01:00
Michael Eischer
7f6fdcc52c
archiver: convert buffer pool to use sync.Pool
2025-11-26 21:18:22 +01:00
Michael Eischer
dd6cb0dd8e
archiver: port to repository.SaveBlobAsync
2025-11-26 21:18:22 +01:00
Michael Eischer
046b0e711d
repository: add SaveBlobAsync method
2025-11-26 21:18:21 +01:00
Michael Eischer
4d2da63829
Merge pull request #5610 from MichaelEischer/associated-blob-set-everywhere
...
check/copy/diff/stats: reduce memory usage
2025-11-26 21:09:26 +01:00
Michael Eischer
134893bd35
copy: use AssociatedBlobSet to keep track of processed trees
2025-11-26 21:00:18 +01:00
Michael Eischer
7b59dd7cf4
add changelog
2025-11-26 20:59:39 +01:00
Michael Eischer
84dda4dc74
check: use AssociatedBlobSet
2025-11-26 20:59:39 +01:00
Michael Eischer
46ebee948f
stats: use AssociatedBlobSet
2025-11-26 20:59:39 +01:00
Michael Eischer
d91fe1d7e1
diff: use AssociatedBlobSet
2025-11-26 20:59:39 +01:00
Michael Eischer
ff099a216a
copy: use AssociatedBlobSet
2025-11-26 20:59:38 +01:00
Michael Eischer
07d090f233
repository: expose AssociatedBlobSet via repository interface
2025-11-26 20:59:08 +01:00
Michael Eischer
0f05277b47
index: add sub and intersect method to AssociatedSet
2025-11-26 20:59:08 +01:00
Michael Eischer
7e80536a9b
Merge pull request #5472 from wplapper/cmd_copy_stream
...
restic copy --stream: run one large copy operation crossing snapshot boundaries - issue #5453
2025-11-26 20:57:46 +01:00
Michael Eischer
f9e5660e75
output which source and target snapshot belong together
2025-11-23 22:01:53 +01:00
Michael Eischer
e79b01d82f
more aggressive batching
2025-11-23 21:46:03 +01:00
Michael Eischer
857b42fca4
merge into existing copy test
2025-11-23 19:08:49 +01:00
Michael Eischer
39db78446f
Simplify test
2025-11-23 19:05:55 +01:00
Michael Eischer
f1aabdd293
index: add test for pending blobs
2025-11-23 18:08:56 +01:00
Michael Eischer
50d376c543
repository: fix LookupBlobSize to also report pending blobs
2025-11-23 17:55:13 +01:00
Michael Eischer
7d08c9282a
align docs
2025-11-23 17:51:07 +01:00
Michael Eischer
cf409b7c66
automatically batch snapshots in copy
2025-11-23 17:40:37 +01:00
Michael Eischer
f95dc73d38
deduplicate blob enqueuing
2025-11-23 17:13:10 +01:00
Michael Eischer
63bc1405ea
unify snapshot copy codepaths
2025-11-23 17:12:54 +01:00
Michael Eischer
405813f250
repository: fix LookupBlobSize to also report pending blobs
2025-11-23 17:09:07 +01:00
Michael Eischer
05364500b6
use correct context
2025-11-23 16:25:09 +01:00
Michael Eischer
e775192fe7
don't sort snapshots, drop duplicate code and cleanup copyTreeBatched function signature
2025-11-23 16:20:40 +01:00
Michael Eischer
4395a77154
copy: remove bugous seenBlobs set
2025-11-23 16:06:45 +01:00
Michael Eischer
81d8bc4ade
repository: replace CopyBlobs with Repack implementation
2025-11-23 16:06:29 +01:00
Michael Eischer
d681b8af5e
Merge pull request #5611 from insertish/docs/scripting-tag-schema
...
docs: correct the schema provided for tag summary
2025-11-23 15:45:53 +01:00
izzy
629eaa5d21
docs: correct the schema provided for tag summary
2025-11-20 17:35:25 +00:00
Michael Eischer
6174c91042
Merge pull request #5588 from seqizz/g_timezoneshow
...
snapshots: Show timezone in non-compact output
2025-11-19 22:06:37 +01:00
Winfried Plappert
b24b088978
restic copy --batch: The mighty linter
...
I cave in - no double comment
2025-11-19 07:34:39 +00:00
Winfried Plappert
fc3de018bc
restic copy --batch - fussy linter
...
internal/repository/repack.go: I have to please the mighty linter.
2025-11-19 07:29:09 +00:00
Winfried Plappert
b87f7586e4
restic copy --batch: a fresh start from commit 382616747
...
Instead of rebasing my code, I decided to start fresh, since WithBlobUploader()
has been introduced.
changelog/unreleased/issue-5453:
doc/045_working_with_repos.rst:
the usual
cmd/restic/cmd_copy.go:
gather all snaps to be collected - collectAllSnapshots()
run overall copy step - func copyTreeBatched()
helper copySaveSnapshot() to save the corresponding snapshot
internal/repository/repack.go:
introduce wrapper CopyBlobs(), which passes parameter `uploader restic.BlobSaver` from
WithBlobUploader() via copyTreeBatched() to repack().
internal/backend/local/local_windows.go:
I did not touch it, but gofmt did: whitespace
2025-11-19 07:09:24 +00:00
Gürkan
dc4e9b31f6
snapshots: Show timezone in non-compact output
2025-11-18 13:32:44 +01:00
Michael Eischer
8767549367
Merge pull request #5601 from MichaelEischer/snapshots-fix-groupby-with-latest
...
snapshots: correctly handle --latest in combination with --group-by
2025-11-17 22:50:50 +01:00
Michael Eischer
5afe61585b
snapshots: correctly handle --latest in combination with --group-by
2025-11-17 22:26:57 +01:00
Michael Eischer
46f3ece883
Merge pull request #5597 from MichaelEischer/bump-go-for-standalone-docker
...
bump go version in dockerfile to go 1.25
2025-11-17 22:05:45 +01:00
Michael Eischer
96adbbaa42
Merge pull request #5599 from MichaelEischer/prune-clean-error
...
prune: return proper error if blob cannot be found
2025-11-17 22:05:17 +01:00
Michael Eischer
7297047b71
Merge pull request #5600 from MichaelEischer/docs-tmp-var-on-windows
...
only suggest TMP as tmp dir variable on windows
2025-11-17 22:04:42 +01:00
Michael Eischer
132f2f8a23
Merge pull request #5602 from MichaelEischer/fix-flaky-rclone-test
...
rclone: fix rare test failure if rclone cannot be started
2025-11-17 22:04:10 +01:00
Michael Eischer
a519d1e8df
Merge pull request #5603 from MichaelEischer/debug-flaky-windows-test
...
restore: enable debug logging for flaky windows test
2025-11-17 22:03:38 +01:00
Paulo Saraiva
c1a89d5150
Allow for a personal token to be specified for self-updates ( #5568 )
...
* Allow for a personal token to be specified for self-updates
This change will allow for setting the $GITHUB_ACCESS_TOKEN environment variable with a Github personal access token, allowing e.g. for higher rate limits
* Refactor github request and add test
---------
Co-authored-by: Paulo Saraiva <pauloman@cern.ch >
2025-11-17 21:39:39 +01:00
Michael Eischer
3826167474
Merge pull request #5424 from Crazycatz00/sebackup-fixes
...
Windows Backup Privilege Tweaks
2025-11-16 21:35:35 +01:00
Michael Eischer
98f56d8ada
restore: enable debug logging for flaky windows test
2025-11-16 20:24:19 +01:00
Michael Eischer
1caeb2aa4d
rclone: fix rare test failure if rclone cannot be started
2025-11-16 20:14:21 +01:00
crazycatz00
3ab68d4d11
fs: Clarified documentation
2025-11-16 11:53:13 -05:00
Michael Eischer
ffc5e9bd5c
only suggest TMP as tmp dir variable on windows
...
TMP takes precedence over TEMP.
2025-11-16 17:31:36 +01:00
Michael Eischer
0ff3e20c4b
prune: return proper error if blob cannot be found
2025-11-16 17:04:03 +01:00
Michael Eischer
3b854d9c04
Merge pull request #5449 from provokateurin/restore-ownership-by-name
...
feat(internal/fs/node): Restore ownership by name
2025-11-16 16:50:36 +01:00
ferringb
87f26accb7
feat: add integrated nice and ionice options for docker ( #5448 )
...
The intended usage here is to basically kick restic as a background
"do it, but don't bother my normal load" process.
This allows passing the following environment variables in to
influence scheduling:
- NICE: usual CPU nice. Defaults to 0. This requires CAP_SYS_NICE
to set a negative nice (IE, prioritize).
- IONICE_CLASS: usual ionice class. Note that setting realtime
requires CAP_SYS_ADMIN. Also note the actual ionice default
is "none".
- IONICE_PRIORITY: set the priority within the given class. Ignored
if no class is specified due to class default of "no scheduler".
---------
Signed-off-by: Brian Harring <ferringb@gmail.com >
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-11-16 16:42:33 +01:00
provokateurin
8fae46011a
feat(internal/fs/node): Restore ownership by name
2025-11-16 16:40:58 +01:00
Michael Eischer
c854338ad1
Merge pull request #5596 from mikix/chmod-again
...
backend/local: fix "operation not supported" when unlocking
2025-11-16 14:25:04 +01:00
Michael Eischer
10a10b8d63
bump go version in dockerfile to go 1.25
...
Note that this go version is independent of that used for the official
release binaries.
2025-11-16 14:22:43 +01:00
Michael Terry
7f3e3b77ce
backend/local: fix "operation not supported" when unlocking
...
If the repo is on a mounted folder that doesn't support chmod (like
SMB), it was causing an "operation not supported" error when trying to
chmod 666 a file before deleting it.
But it isn't generally needed before deleting a file (the folder
permissions matter there, not the file permissions). So, just drop it.
2025-11-16 08:09:51 -05:00
Michael Eischer
d81f95c777
Merge pull request #5464 from wplapper/cmd_copy_v2
...
restic copy - add more status counters - issue #5175
2025-11-16 13:55:41 +01:00
DoS007
2bd6649813
docs: add info about ssd wear in backend connections ( #5496 )
...
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-11-16 12:48:56 +00:00
Winfried Plappert
3b71c44755
restic copy - stattistics counters
...
fixed typo in changelog/unreleased/pull-5319
2025-11-16 13:47:11 +01:00
Winfried Plappert
1e3b96bf99
restic copy - statistics feature
...
reword the description od the PR
2025-11-16 13:47:11 +01:00
Winfried Plappert
25611f4628
restic copy - add statistics counters
...
cmd/restic/cmd_copy.go:
add function copyStats() and call it before the actual copying starts.
changelog/unreleased/pull-5319:
rephrased wording of the statistics counters.
2025-11-16 13:47:10 +01:00
Winfried Plappert
90ac3efa88
restic copy - add additional status counters
...
'copyTree()' now counts and sizes the blobs in 'copyBlobs' and prints them out
via 'Verbosef()'.
2025-11-16 13:46:27 +01:00
Michael Eischer
5b173d2206
Merge pull request #5567 from Paulomen2712/add_better_forget_example_docs
...
Improve example for forget --keep-daily
2025-11-16 13:45:13 +01:00
Michael Eischer
14f3bc8232
Merge pull request #5560 from MichaelEischer/index-iterators
...
index: port to modern Go iterators
2025-11-16 13:24:48 +01:00
Michael Eischer
4ef7b4676b
Merge pull request #5559 from MichaelEischer/cleanup-repack
...
repository: remove unused return value from Repack
2025-11-16 13:01:00 +01:00
Michael Eischer
b587c126e0
Fix linter warning
2025-11-16 12:56:37 +01:00
Michael Eischer
9944ef7a7c
index: convert AssociatedSet to go iterators
2025-11-16 12:56:37 +01:00
Michael Eischer
38c543457e
index: convert to implement modern go iterators
2025-11-16 12:56:37 +01:00
Michael Eischer
393e49fc89
repository: update comment
2025-11-16 12:51:46 +01:00
Michael Eischer
a0925fa922
repository: set progress bar maximum in Repack
2025-11-16 12:51:46 +01:00
Michael Eischer
b2afccbd96
repository: remove unused obsoletePacks return values from Repack
2025-11-16 12:51:46 +01:00
Michael Eischer
0624b656b8
Merge pull request #5558 from MichaelEischer/simplify-blob-upload
...
repository: enforce correct usage of SaveBlob
2025-11-16 12:51:01 +01:00
Brook
fadeb03f84
Update Nix/NixOS installation instructions ( #5591 )
...
Corrected spelling errors and updated installation instructions for Nix/NixOS.
2025-11-16 11:31:47 +00:00
Michael Eischer
fc06a79518
Merge pull request #5579 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.3
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.6.2 to 1.6.3
2025-11-16 12:03:02 +01:00
Michael Eischer
d5977deb49
Merge pull request #5580 from restic/dependabot/go_modules/github.com/pkg/sftp-1.13.10
...
build(deps): bump github.com/pkg/sftp from 1.13.9 to 1.13.10
2025-11-16 12:02:30 +01:00
Michael Eischer
e3b7bbd020
Merge pull request #5552 from ferringb/dockerignore
...
add a dockerignore
2025-11-16 12:00:52 +01:00
Michael Eischer
157f174dd9
Merge pull request #5370 from hashier/feat/exclude-macOS-cloud-files
...
feat(backup): add possibility to exclude macOS cloud-only files
2025-11-16 11:57:37 +01:00
Alex Xu
bcc5417dc8
Merge pull request #5386 from Hello71/patch-2
...
doc: Add ambient caps example, edit file caps
2025-11-16 11:54:43 +01:00
crazycatz00
d14823eb81
fs: Attempt to enable file system privileges on initialization.
...
Add tests to verify privileges' effects.
2025-11-07 19:31:59 -05:00
crazycatz00
01bf8977e7
fs: Use backup privileges when reading extended attributes for files too.
2025-11-07 19:31:57 -05:00
dependabot[bot]
f5a18a7799
build(deps): bump github.com/pkg/sftp from 1.13.9 to 1.13.10
...
Bumps [github.com/pkg/sftp](https://github.com/pkg/sftp ) from 1.13.9 to 1.13.10.
- [Release notes](https://github.com/pkg/sftp/releases )
- [Commits](https://github.com/pkg/sftp/compare/v1.13.9...v1.13.10 )
---
updated-dependencies:
- dependency-name: github.com/pkg/sftp
dependency-version: 1.13.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-01 01:02:06 +00:00
dependabot[bot]
f756c6a441
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/storage/azblob/v1.6.2...sdk/storage/azblob/v1.6.3 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-01 01:02:03 +00:00
Brian Harring
8cbca05853
add a dockerignore
...
This is strictly for tightening the container to be more hygenic.
Signed-off-by: Brian Harring <ferringb@gmail.com >
2025-10-29 16:18:40 +01:00
Paulo Manuel Ferreira Dos Santos Saraiva
b0eb3652b8
Improve example for forget --keep-daily
2025-10-22 11:31:50 +02:00
Michael Eischer
71432c7f4b
Merge pull request #5555 from MichaelEischer/extract-globaloptions
...
Split globalOptions into separate package
2025-10-12 18:31:44 +02:00
Michael Eischer
c6e33c3954
repository: enforce that SaveBlob is called within WithBlobUploader
...
This is achieved by removing SaveBlob from the public API and only
returning it via a uploader object that is passed in by
WithBlobUploader.
2025-10-12 18:26:26 +02:00
Michael Eischer
1ef785daa3
Merge pull request #5544 from zmanda/fix-gh-5531-azure-backend-upgrade-service-version
...
azure: use PutBlob API for uploads instead of PutBlock API + PutBlock List API
2025-10-12 18:24:33 +02:00
Michael Eischer
aa0fb0210a
Merge pull request #5556 from greatroar/cleanup
...
ui/backup: Prepend, then sort (micro-optimization)
2025-10-12 18:22:36 +02:00
Michael Eischer
b6aef592f5
global: split CreateRepository and OpenRepository into smaller functions
2025-10-12 18:20:45 +02:00
Michael Eischer
588c40aaef
global: unexport ReadPassword and ReadRepo
2025-10-12 18:08:26 +02:00
Michael Eischer
aa7bd241d9
init: move more logic into global package
2025-10-12 18:08:26 +02:00
Michael Eischer
536a2f38bd
Merge pull request #5554 from MichaelEischer/termstatus-flush
...
termstatus: flush before reading password from terminal
2025-10-12 17:59:03 +02:00
Michael Eischer
a816b827cf
extract GlobalOptions into internal/global package
...
Rough steps:
```
mv cmd/restic/global* cmd/restic/secondary_repo* internal/global/
sed -i "s/package main/package global/" internal/global/*.go
Rename "GlobalOptions" to "Options" in internal/global/
Replace everywhere " GlobalOptions" -> " global.Options"
Replace everywhere "\*GlobalOptions" -> " *global.Options"
Make SecondaryRepoOptions public
Make create public
Make version public
```
2025-10-12 17:56:28 +02:00
Michael Eischer
2c677d8db4
global: make private fields public
2025-10-12 17:56:28 +02:00
Michael Eischer
394c8de502
add package to create a prepopulated backend registry
2025-10-12 17:56:28 +02:00
Michael Eischer
a632f490fa
Merge pull request #5550 from MichaelEischer/refactor-check-data-selection
...
check: refactor pack selection for read data
2025-10-12 17:51:00 +02:00
Michael Eischer
718b97f37f
Merge pull request #5551 from restic/slower-terminal-output
...
Reduce terminal progress fps to 10
2025-10-12 17:47:27 +02:00
Michael Eischer
ac4642b479
repository: replace StartPackUploader+Flush with WithBlobUploader
...
The new method combines both step into a single wrapper function. Thus
it ensures that both are always called in pairs. As an additional
benefit this slightly reduces the boilerplate to upload blobs.
2025-10-08 22:49:45 +02:00
greatroar
20b38010e1
ui/backup: Prepend, then sort (micro-optimization)
2025-10-06 16:16:37 +02:00
Srigovind Nayak
f9ff2301e8
changelog: add a changelog entry for azure PutBlob API changes
2025-10-05 21:48:02 +05:30
Srigovind Nayak
e65ee3cba8
fix: keep the PutBlock Size to 100 MiB
...
No complaints in the past.
2025-10-05 21:41:26 +05:30
Srigovind Nayak
34a94afc48
azure: update upload size constants to reduce memory allocation
2025-10-05 21:41:25 +05:30
Srigovind Nayak
9bcd09bde0
azure: reduce singleBlockMaxSize to accommodate 32-bit systems
2025-10-05 21:41:25 +05:30
Srigovind Nayak
e80e832130
azure: remove saveSmall, use only PutBlob API
2025-10-05 21:41:25 +05:30
Srigovind Nayak
dd2d562b7b
azure: enhanced upload with single PutBlob API and configurable upload methods
2025-10-05 21:41:25 +05:30
Michael Eischer
e320ef0a62
add changelog
2025-10-05 16:14:16 +02:00
Michael Eischer
30ed992af9
termstatus: flush output before returning OutputRaw() writer
...
This prevents mangling the output due to delayed messages.
2025-10-05 16:14:16 +02:00
Srigovind Nayak
481fcb9ca7
backup: return exit code 3 if not all targets are available ( #5347 )
...
to make the exit code behaviour consistent with files inaccessible during the backup phase, making this change to exit with code 3 if not all target files/folders are accessible for backup
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-10-05 15:38:52 +02:00
Srigovind Nayak
22f254c9ca
feat: allow override env RESTIC_HOST with flag to filter all snapshots ( #5541 )
2025-10-05 13:22:50 +02:00
Michael Eischer
f17027eeaa
termstatus: flush before reading password from terminal
2025-10-04 23:06:57 +02:00
Christopher Loessl
f3d95893b2
feat(backup): add possibility to exclude macOS cloud-only files
2025-10-04 19:22:51 +02:00
Michael Eischer
4759e58994
Reduce terminal progress fps to 10
2025-10-04 17:34:40 +02:00
Winfried Plappert
a2a49cf784
list integration test: error scanning 'restic list blobs' ( #5311 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-10-04 12:18:32 +00:00
Michael Eischer
b7bbb408ee
check: refactor pack selection for read data
...
Drop the `packs` map from the internal state of the checker. Instead the
Packs(...) method now calls a filter callback that can select the
packs intended for checking.
2025-10-03 23:45:05 +02:00
Michael Eischer
35fca09326
Merge pull request #5489 from MichaelEischer/fix-group-repos
...
docs: fix permission setup for group-accessible repo
2025-10-03 23:03:50 +02:00
Michael Eischer
adbd4a1d18
Fully rework docs for group-accessible repositories
...
Just tell the user what to do instead of explaining too many details.
I've dropped the read-only variant as it actually has no representation
in the local and sftp backends. Instead it relied on both backends
initially creating all directories, which can't actually be guaranteed.
Based on a suggestion by @brad2014 in significant parts.
2025-10-03 21:24:57 +02:00
Michael Eischer
537d107b6c
docs: use absolute permissions for group accessible repositories
2025-10-03 21:24:57 +02:00
Michael Eischer
06aa0f08cb
docs: fix permission setup for group-accessible repo
...
The group always needs execute access for the directories. In addition,
files should be always set to read-only for everyone as restic never
modifies files.
2025-10-03 21:24:57 +02:00
Rani
3ae6a69154
Bugfix(sftp): fix loose permissions on sftp backend. ( #5497 )
2025-10-03 18:20:52 +00:00
Michael Eischer
264cd67c36
Merge pull request #5532 from MichaelEischer/checker-cleanup
...
Replace Repository.SetIndex with internal helper
2025-10-03 20:08:14 +02:00
Michael Eischer
fd241b8ec7
Merge pull request #5527 from MichaelEischer/drop-s3-static-credentials
...
s3: drop manual credentials loading from environment
2025-10-03 19:57:55 +02:00
Michael Eischer
76aa9e4f7c
Merge pull request #5549 from restic/dependabot/go_modules/github.com/peterbourgon/unixtransport-0.0.7
...
build(deps): bump github.com/peterbourgon/unixtransport from 0.0.6 to 0.0.7
2025-10-03 19:56:02 +02:00
Michael Eischer
aae1acf4d7
check: fix dysfunctional test cases
2025-10-03 19:49:51 +02:00
dependabot[bot]
cc0480fc32
build(deps): bump github.com/peterbourgon/unixtransport
...
Bumps [github.com/peterbourgon/unixtransport](https://github.com/peterbourgon/unixtransport ) from 0.0.6 to 0.0.7.
- [Release notes](https://github.com/peterbourgon/unixtransport/releases )
- [Commits](https://github.com/peterbourgon/unixtransport/compare/v0.0.6...v0.0.7 )
---
updated-dependencies:
- dependency-name: github.com/peterbourgon/unixtransport
dependency-version: 0.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-03 17:41:39 +00:00
Michael Eischer
838ef0a9bd
Merge pull request #5546 from MichaelEischer/group-golang-dependencies
...
CI: group dependency updates for golang.org/x/*
2025-10-03 19:40:15 +02:00
Michael Eischer
4426dfe6a9
repository: replace SetIndex method with internal loadIndexWithCallback method
2025-10-03 19:36:57 +02:00
Michael Eischer
f0955fa931
repository: add Checker() method to repository to replace unchecked cast
2025-10-03 19:34:33 +02:00
Michael Eischer
189b295c30
repository: add dedicated test helper
2025-10-03 19:34:33 +02:00
Michael Eischer
82971ad7f0
check: split index/pack check into repository package
2025-10-03 19:34:32 +02:00
Michael Eischer
bfc2ce97fd
check: don't keep extra MasterIndex reference
2025-10-03 19:32:15 +02:00
Michael Eischer
d84c3e3c60
CI: group dependency updates for golang.org/x/*
2025-10-03 19:28:30 +02:00
Michael Eischer
93720f0717
Merge pull request #5525 from MichaelEischer/split-restic-directory
...
Extract snapshot data types from restic package
2025-10-03 19:24:31 +02:00
Michael Eischer
70a24cca85
ignore linter warning
2025-10-03 19:10:40 +02:00
Michael Eischer
56ac8360c7
data: split node and snapshot code from restic package
2025-10-03 19:10:39 +02:00
Michael Eischer
c85b157e0e
restic: move interfaces between files to prepare refactor
2025-10-03 19:06:32 +02:00
Michael Eischer
13e476e1eb
Merge pull request #5518 from MichaelEischer/termstatus-everywhere
...
Consolidate terminal input/output functionality in termstatus.Terminal
2025-10-03 19:05:28 +02:00
Michael Eischer
3335f62a8f
Fix linter warnings
2025-10-03 18:55:46 +02:00
Michael Eischer
d8da3d2f2d
termstatus: increase test coverage
2025-10-03 18:55:46 +02:00
Michael Eischer
df7924f4df
node: report error on xattr retrieval using standard error logging
2025-10-03 18:55:46 +02:00
Michael Eischer
f2b9ea6455
termstatus: use errWriter if terminal commands fail
2025-10-03 18:55:46 +02:00
Michael Eischer
711194276c
remove unused printer from ReadPassword
2025-10-03 18:55:46 +02:00
Michael Eischer
f045297348
termstatus: fix typo in comment
2025-10-03 18:55:46 +02:00
Michael Eischer
52eb66929f
repository: deduplicate index progress bar initializaton
2025-10-03 18:55:46 +02:00
Michael Eischer
b459d66288
termstatus: additional comments
2025-10-03 18:55:46 +02:00
Michael Eischer
76b2cdd4fb
replace globalOptions.stdout with termstatus.OutputWriter
2025-10-03 18:55:46 +02:00
Michael Eischer
c293736841
drop unused stderr from GlobalOptions
2025-10-03 18:55:46 +02:00
Michael Eischer
1939cff334
restore: embed progress.Printer in restore-specific printer
2025-10-03 18:55:46 +02:00
Michael Eischer
1a76f988ea
backup: embed progress.Printer in backup specific printer
2025-10-03 18:55:46 +02:00
Michael Eischer
e753941ad3
move NewProgressPrinter to ui package
2025-10-03 18:55:46 +02:00
Michael Eischer
ff5a0cc851
termstatus: fully wrap reading password from terminal
2025-10-03 18:55:46 +02:00
Michael Eischer
013c565c29
standardize shorten variable name for GlobalOptions to gopts
2025-10-03 18:55:46 +02:00
Michael Eischer
96af35555a
termstatus: add stdin and inject into backup command
2025-10-03 18:55:46 +02:00
Michael Eischer
ca5b0c0249
get rid of fmt.Print* usages
2025-10-03 18:55:46 +02:00
Michael Eischer
3410808dcf
deduplicate termstatus setup
2025-10-03 18:55:46 +02:00
Michael Eischer
1ae2d08d1b
termstatus: centralize OutputIsTerminal checks
2025-10-03 18:55:46 +02:00
Michael Eischer
c745e4221e
termstatus: use errWriter instead of os.Stderr
2025-10-03 18:22:42 +02:00
Michael Eischer
b6c50662da
repository: don't ignore cache clearing error
2025-10-03 18:22:42 +02:00
Michael Eischer
4dc71f24c5
backends: pass error logger to backends
2025-10-03 18:22:42 +02:00
Michael Eischer
13f743e26b
profiling: inject os.Stderr instead of directly using it
2025-10-03 18:22:42 +02:00
Michael Eischer
3e1632c412
reduce os.stdout / os.stderr usage in tests
2025-10-03 18:22:42 +02:00
Michael Eischer
6bd85d2412
reduce usages of globalOptions variable
2025-10-03 18:22:42 +02:00
Michael Eischer
e4395a9d73
Merge pull request #5535 from restic/dependabot/github_actions/docker/login-action-3.6.0
...
build(deps): bump docker/login-action from 3.5.0 to 3.6.0
2025-10-03 18:21:27 +02:00
Michael Eischer
4d1f6b1fe2
Merge pull request #5536 from restic/dependabot/github_actions/actions/setup-go-6
...
build(deps): bump actions/setup-go from 5 to 6
2025-10-03 18:20:47 +02:00
Michael Eischer
331260e1d4
Merge pull request #5537 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.12.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.11.0 to 1.12.0
2025-10-03 18:20:05 +02:00
Michael Eischer
eb13789b2b
Merge pull request #5528 from MichaelEischer/cleanup-fatalf-usage
...
Cleanup fatalf usage
2025-10-01 20:17:30 +02:00
dependabot[bot]
0cd079147f
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/sdk-breaking-changes-guide-migration.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.11.0...sdk/azcore/v1.12.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 01:02:17 +00:00
dependabot[bot]
0b4b092941
build(deps): bump actions/setup-go from 5 to 6
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 01:01:54 +00:00
dependabot[bot]
01d3357880
build(deps): bump docker/login-action from 3.5.0 to 3.6.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](184bdaa072...5e57cd1181 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 01:01:51 +00:00
Michael Eischer
1c7bb15327
Merge pull request #5451 from greatroar/concurrency
...
Concurrency simplifications
2025-09-24 22:22:40 +02:00
Michael Eischer
d491c1bdbf
use errors.Fatalf instead of custom formatting
2025-09-24 22:11:54 +02:00
Michael Eischer
97933d1404
remove trailing newlines from errors.Fatalf calls
2025-09-24 22:11:34 +02:00
Michael Eischer
4edfd36c8f
Merge pull request #5363 from zmanda/fix-gh-5258-backup-exits-with-wrong-code-on-ctrl-c
...
bugfix: fatal errors do not keep underlying error
2025-09-24 22:04:38 +02:00
Michael Eischer
a30a36ca51
s3: drop manual credentials loading from environment
...
credentials.EnvAWS offers a superset of the manually implemented
credentials loading. Rework the error message that is shown if no
credentials were found but either access or secret key are set.
2025-09-24 21:02:02 +02:00
Michael Eischer
d52f92e8cc
Merge pull request #5523 from tobiaskarch/patch-1
...
Add OpenContainers labels to Dockerfile.release
2025-09-24 20:37:55 +02:00
Michael Eischer
a4e565d921
Merge pull request #5524 from dmotte/pr-fix-backupend
...
internal/archiver: fixed BackupEnd when SkipIfUnchanged is true
2025-09-24 20:32:44 +02:00
Michael Eischer
ec796e6edd
Merge pull request #5526 from lyallcooper/patch-1
...
Fix typo in rewrite command note
2025-09-24 20:31:50 +02:00
Lyall Cooper
e30acefbff
Fix typo in rewrite command note
2025-09-24 14:40:35 +09:00
Michael Eischer
3e6b5c34c9
Merge pull request #5512 from ProactiveServices/patch-1
...
doc: mention value for pack size setting
2025-09-23 19:35:38 +02:00
dmotte
9017fefddd
internal/archiver: fixed BackupEnd when SkipIfUnchanged is true
2025-09-23 03:07:30 +02:00
Michael Eischer
93d1e3b211
Merge pull request #5519 from MichaelEischer/go-1.25
...
CI: add go 1.25
2025-09-22 22:44:21 +02:00
Tobias Karch
8f858829ed
Add OpenContainers labels to Dockerfile.release
2025-09-22 17:37:17 +00:00
Adam Piggott
db3b3e31e6
Line breaks
2025-09-22 14:24:02 +01:00
Michael Eischer
3f7121e180
backup: adapt test to changed error message
2025-09-21 22:59:59 +02:00
Michael Eischer
d5dd8ce6a7
CI: add go 1.25
2025-09-21 22:38:34 +02:00
Michael Eischer
08443fe593
Merge pull request #5405 from restic/dependabot/github_actions/golangci/golangci-lint-action-8
...
build(deps): bump golangci/golangci-lint-action from 6 to 8
2025-09-21 22:37:26 +02:00
Michael Eischer
daeb55a4fb
Merge pull request #5511 from greatroar/atomic
...
ui/progress: Restore atomics in Counter
2025-09-21 22:29:40 +02:00
Michael Eischer
6ebc23543d
CI: use strict matching for generated source files in golangci-lint
2025-09-21 22:25:57 +02:00
Michael Eischer
7257cd2e5f
extra linters
2025-09-21 22:24:35 +02:00
Michael Eischer
88bdf20bd8
Reduce linter ignores
2025-09-21 22:24:27 +02:00
Michael Eischer
8518c1f7d9
CI: convert golangci-lint configuration to v2
2025-09-21 22:24:15 +02:00
Michael Eischer
60d80a6127
Fix linter warnings
2025-09-21 22:24:15 +02:00
Michael Eischer
575eac8d80
CI: bump golangci version to v2
2025-09-21 22:20:37 +02:00
dependabot[bot]
5c667f0501
build(deps): bump golangci/golangci-lint-action from 6 to 8
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 6 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v8 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-21 22:20:37 +02:00
Michael Eischer
f091e6aed0
Merge branch 'patch-release'
2025-09-21 21:20:56 +02:00
Alexander Neumann
39a737fe14
Set development version for 0.18.1
2025-09-21 20:05:01 +02:00
Alexander Neumann
7d0aa7f2e3
Add version for 0.18.1
2025-09-21 20:04:58 +02:00
Alexander Neumann
18f18b7f99
Generate CHANGELOG.md for 0.18.1
2025-09-21 20:03:56 +02:00
Alexander Neumann
426b71e3e5
Prepare changelog for 0.18.1
2025-09-21 20:03:56 +02:00
Michael Eischer
4871390a81
Merge pull request #5514 from MichaelEischer/term-ui-helper
...
ui: collect Quote and Truncate helpers
2025-09-21 17:03:56 +02:00
Michael Eischer
65b21e3348
ui: collect Quote and Truncate helpers
...
Collect ui formatting helpers in the ui package
2025-09-21 16:44:23 +02:00
Michael Eischer
4a7b122fb6
Merge pull request #5510 from MichaelEischer/termstatus-everywhere-print-functions
...
Replace Printf/Verbosef/Warnf with termstatus
2025-09-21 16:42:29 +02:00
Michael Eischer
86ddee8518
ui: document Message / Printer / Terminal interfaces
2025-09-21 16:32:00 +02:00
Michael Eischer
2fe271980f
backup: only pass error log function to helpers
2025-09-21 16:02:59 +02:00
Michael Eischer
4f1390436d
init: remove duplication from error message
2025-09-21 15:58:29 +02:00
Michael Eischer
2d7611373e
ignore JSON flag for fully unsupported commands
...
Considering the flag would result in a mostly empty terminal output,
which is probably worse than text output instead of JSON.
2025-09-21 15:38:29 +02:00
Michael Eischer
f71278138f
drop warnf
2025-09-18 22:58:23 +02:00
Michael Eischer
7d5ebdd0b3
version: convert to termstatus
2025-09-18 22:58:23 +02:00
Michael Eischer
d6c75ba2dc
prune: drop unused parameter
2025-09-17 21:18:15 +02:00
Michael Eischer
2a9105c050
forget/snapshots: properly change error returned by PrintSnapshots
2025-09-17 21:16:39 +02:00
Michael Eischer
b7bb697cf7
Merge pull request #5513 from restic/more-polish-changelogs
...
doc: Nitpicks on changelogs
2025-09-17 20:38:19 +02:00
Michael Eischer
b12a638322
Merge pull request #5509 from restic/polish-changelogs
...
slightly polish changelogs
2025-09-17 20:37:46 +02:00
Leo R. Lundgren
4e0135e628
doc: Nitpicks on changelogs
2025-09-17 18:26:21 +02:00
Adam Piggott
8e87a37df0
doc: mention value for pack size setting
2025-09-16 17:32:26 +01:00
greatroar
a8f506ea4d
ui/progress: Simplify Updater
...
Removed a defer'd call that was a bit subtle.
2025-09-16 09:56:33 +02:00
greatroar
0a1ce4f207
ui/progress: Restore atomics in Counter
...
We switched from atomics to a mutex in #3189 because of an alignment
bug, but the new-style atomic types don't need manual alignment.
2025-09-16 09:49:48 +02:00
Michael Eischer
364271c6c3
Consistently use withTermstatus in tests
2025-09-15 22:37:55 +02:00
Michael Eischer
6b5c8ce14e
change run* functions to accept ui.Terminal instead of *termstatus.Terminal
2025-09-15 22:37:25 +02:00
Michael Eischer
5a16b29177
remove unused global output functions
2025-09-15 22:35:48 +02:00
Michael Eischer
320fb5fb98
convert repository open/create to use termstatus
2025-09-15 22:35:32 +02:00
Michael Eischer
c14cf48776
further reduce Warnf usages
2025-09-15 22:35:16 +02:00
Michael Eischer
109a211fbe
convert repository locking to use termstatus
2025-09-15 22:34:59 +02:00
Michael Eischer
9d3efc2088
cleanup progress bar helpers
2025-09-15 22:34:44 +02:00
Michael Eischer
8b5dbc18ca
cleanup progress bar creation special cases
2025-09-15 22:34:28 +02:00
Michael Eischer
b0eef4b965
Initialize progress printer as early as reasonable in run functions
2025-09-15 22:34:13 +02:00
Michael Eischer
6c0dccf4a5
self-update: convert to termstatus
2025-09-15 22:33:52 +02:00
Michael Eischer
6b23d0328b
find: convert to termstatus
2025-09-15 22:33:41 +02:00
Michael Eischer
52f33d2d54
snapshots: convert to termstatus
2025-09-15 22:19:19 +02:00
Michael Eischer
d89535634d
unlock: convert to termstatus
2025-09-15 22:19:19 +02:00
Michael Eischer
902cd1e9d6
backup: replace Verbosef usage
2025-09-15 22:19:19 +02:00
Michael Eischer
51299b8ea7
key: convert to termstatus
2025-09-15 22:19:19 +02:00
Michael Eischer
fd8f8d64f5
init: convert to termstatus
2025-09-15 22:19:17 +02:00
Michael Eischer
114cc33fe9
generate: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
44dbd4469e
tag: replace global print functions with termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
d8f3e35730
prune: replace Print call with termstatus usage
2025-09-15 22:17:26 +02:00
Michael Eischer
333dbd18d8
list: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
0226e46681
cache: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
74fb43e0c2
dump: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
69186350fc
diff: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
3e7aad8916
debug: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
c3912ae7bc
cat: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
d3e26f2868
ls: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
2e91e81c83
mount: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
0dcd9bee88
rewrite: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
a304826b98
repair snapshots: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
8510f09225
stats: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
e63aee2ec6
copy: convert to use termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
94b19d64be
termstatus: allow retrieving the underlying writer
...
This is intended for special cases where it must be guaranteed that the
output on stdout exactly matches what was written to the io.Writer.
2025-09-15 22:17:26 +02:00
Michael Eischer
03600ca509
termstatus: don't buffer stdout
...
There's not much use in doing so as nearly every write call was paired
with a flush call. Thus, just use an unbuffered writer.
2025-09-15 21:22:07 +02:00
Michael Eischer
ef9930cce4
fix capturing stdout with termstatus
2025-09-15 20:25:17 +02:00
Michael Eischer
91ecac8003
termstatus: fix crash when printing empty string
2025-09-15 20:25:17 +02:00
Michael Eischer
e9b6149303
list: cleanup parameter order of test helper
2025-09-15 20:25:17 +02:00
Michael Eischer
32b7168a9e
centralize index progress bar for termstatus
2025-09-15 20:25:17 +02:00
Michael Eischer
6cdb9a75e6
consider JSON flag in newTerminalProgressPrinter
2025-09-15 20:25:17 +02:00
Michael Eischer
9ef8e13102
slightly polish changelogs
2025-09-15 19:52:24 +02:00
Michael Eischer
4940e330c0
Merge pull request #5508 from restic/patch-release-cherrypicks
...
Patch release cherrypicks
2025-09-15 19:51:51 +02:00
Michael Eischer
3a63430b07
extend changelog
2025-09-15 19:34:25 +02:00
Michael Eischer
a5e814bd8d
check: fix error reporting on download retry
2025-09-15 19:34:25 +02:00
Michael Eischer
398862c5c8
docs: sync compatibility section with website
...
This is no change in policy, just a more precise description of the
status quo.
2025-09-15 19:33:39 +02:00
Michael Eischer
b47c67fd90
update dependencies
2025-09-15 19:33:20 +02:00
Michael Eischer
81fe559222
Merge pull request #5495 from MichaelEischer/fix-check-retries
...
check: fix error reporting on download retry
2025-09-15 19:31:44 +02:00
Michael Eischer
f21fd9d115
Merge pull request #5494 from MichaelEischer/fix-background-handling
...
Refactor terminal background handling
2025-09-13 22:48:11 +02:00
Michael Eischer
d757e39992
make linter happy
2025-09-13 22:22:53 +02:00
Srigovind Nayak
ce089f7e2d
errors: standardize error wrapping for Fatal errors
...
* replace all occurences of `errors.Fatal(err.Error())` with `errors.Fatalf("%s", err)` so that the error wrapping is correct across the codebase
* updated the review comments
2025-09-13 23:32:40 +05:30
Srigovind Nayak
576d35b37b
changelog: add bugfix changelog for issue-5258
2025-09-13 23:32:40 +05:30
Srigovind Nayak
18b8f8870f
tests: add tests for preserving underlying errors
2025-09-13 23:32:39 +05:30
Srigovind Nayak
79c41966af
errors: enhance fatalError type to include underlying errors
2025-09-13 23:32:39 +05:30
Michael Eischer
c0a30e12b4
extend changelog
2025-09-08 11:54:29 +02:00
Michael Eischer
de29d74707
check: fix error reporting on download retry
2025-09-08 11:45:28 +02:00
Michael Eischer
424316e016
extend background handling changelog
2025-09-08 11:04:53 +02:00
Michael Eischer
b71b77fa77
terminal: unexport tcgetpgrp, tcsetpgrp and getpgrp
2025-09-08 11:04:38 +02:00
Michael Eischer
e7890d7b81
use standard line clearing in printProgress
2025-09-08 11:04:24 +02:00
Michael Eischer
529baf50f8
simplify message printing when restic receives signal
2025-09-08 11:04:11 +02:00
Michael Eischer
d10bd1d321
terminal: move reading password from terminal here
2025-09-08 11:03:56 +02:00
Michael Eischer
43b5166de8
terminal: cleanup determining width
2025-09-08 11:03:42 +02:00
Michael Eischer
0b0dd07f15
consolidate checks whether stdin/stdout is terminal
2025-09-08 11:03:26 +02:00
Michael Eischer
93ccc548c8
termstatus: move cursor handling to terminal package
2025-09-08 11:03:17 +02:00
Michael Eischer
0ab38faa2e
termstatus: track current status also in background
...
Without this, restic could temporarily print an outdated status when
moving back into the foreground.
2025-09-08 10:50:53 +02:00
Michael Eischer
48cbbf9651
ui/termstatus: extract background handling code
2025-09-08 10:50:09 +02:00
Michael Eischer
6ff7cd9050
backend/util: extract background handling code
2025-09-08 10:42:35 +02:00
Michael Eischer
cc1fe6c111
Merge pull request #5493 from greatroar/ioctl
...
backend,termstatus: Unify foreground/background detection
2025-09-08 10:40:36 +02:00
greatroar
1ed93bd54d
backend,termstatus: Unify foreground/background detection
...
PR #5358 reintroduced a version of the TIOCGPGRP ioctl call that works
on all Unix platforms except Linux, due to a bug/inconsistency in
x/sys/unix. This commit fixes that by introducing termstatus.Tcgetpgrp.
It also introduces termstatus.Getpgrp and termstatus.Tcsetpgrp to deal
with the different signature of unix.Getpgrp in Solaris vs. all other
Unix platforms and an int-overflowing constant on AIX, so that some
AIX/Solaris-specific code can be removed elsewhere and
foreground/background detection is done the same everywhere except on
Windows.
2025-09-08 09:33:44 +02:00
Michael Eischer
c55df65bb6
Merge pull request #5490 from MichaelEischer/sync-compatibility-section
...
docs: sync compatibility section with website
2025-09-07 11:35:48 +02:00
Michael Eischer
289adebbb7
Merge pull request #5492 from MichaelEischer/update-dependencies
...
update dependencies
2025-09-07 11:34:37 +02:00
Michael Eischer
eef047cfa4
update dependencies
2025-09-06 22:58:30 +02:00
Michael Eischer
6d7e37edce
Merge pull request #5491 from MichaelEischer/patch-release-cherrypicks
...
Patch release cherrypicks
2025-09-06 22:32:40 +02:00
dependabot[bot]
4998fd68a7
build(deps): bump docker/login-action from 3.4.0 to 3.5.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](74a5d14239...184bdaa072 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 22:07:22 +02:00
greatroar
06cc6017b8
internal/restic: Fix panic in ParseDuration
...
Fixes #5485 . Includes test case by @MichaelEischer.
2025-09-06 22:03:12 +02:00
gregoster
37851827c5
EOPNOTSUPP can be returned if the filesystem does not support xattrs ( #5344 )
...
---------
Co-authored-by: Greg Oster <oster@netbsd.org >
2025-09-06 22:03:12 +02:00
Michael Eischer
b75f80ae5f
backup: fix test on windows
2025-09-06 22:02:50 +02:00
Michael Eischer
31f87b6188
add changelog
2025-09-06 22:02:50 +02:00
Michael Eischer
b67b88a0c0
backup: test that parent directory errors can be correctly filtered
2025-09-06 22:02:50 +02:00
Michael Eischer
d57b01d6eb
backup: test that missing parent directory is correctly handled
2025-09-06 22:02:50 +02:00
Michael Eischer
fc81df3f54
backup: do not fail backup is some parent folder is inaccessible
...
Handle errors for parent directories of backup directories in the same
way as all other file access errors during a backup.
2025-09-06 22:02:50 +02:00
Michael Eischer
73995b818a
backup: do not crash if nodeFromFileInfo fails
...
this could crash in two cases:
- if a directory is deleted between restic stating it and trying to list
its directory content.
- when restic tries to list the parent directory of a backup target, but
the parent directory has been deleted.
return an error in this case instead.
2025-09-06 22:02:50 +02:00
Michael Eischer
49abea6952
add changelog
2025-09-06 21:59:54 +02:00
Dominik Schulz
f18b8ad425
Mark HTTP Error 507 as permanent
...
This change classifies HTTP error 507 (Insufficient Storage) as a
permanent error that should not be retried. I keep running into
this once in a while and there is literally no point in retrying when
the server is full.
Fixes #5429
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org >
2025-09-06 21:59:54 +02:00
dependabot[bot]
0a6296bfde
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.6.1...sdk/storage/azblob/v1.6.2 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:54 +02:00
dependabot[bot]
2403d1f139
build(deps): bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:54 +02:00
dependabot[bot]
86a453200a
build(deps): bump google.golang.org/api from 0.228.0 to 0.248.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.228.0 to 0.248.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.228.0...v0.248.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.248.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:54 +02:00
dependabot[bot]
518fbbcdc2
build(deps): bump golang.org/x/crypto from 0.39.0 to 0.41.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.39.0 to 0.41.0.
- [Commits](https://github.com/golang/crypto/compare/v0.39.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:54 +02:00
y0n3d4
c62f523e6d
Update 020_installation.rst removing command options
...
Removed command options: their use is a user choice
2025-09-06 21:59:11 +02:00
Michele Testa
91e9f65991
Update 020_installation.rst adding instruction for Gentoo Linux
2025-09-06 21:59:11 +02:00
rhhub
d839850ed4
docs: clarify ** must me between path separators
2025-09-06 21:59:11 +02:00
A Crutcher
ac051c3dcd
doc: Correct Wasabi link
2025-09-06 21:59:11 +02:00
Michael Terry
20f472a67f
backend/local: ignore chmod "not supported" errors
2025-09-06 21:59:11 +02:00
dependabot[bot]
7b986795de
build(deps): bump golang.org/x/time from 0.11.0 to 0.12.0
...
Bumps [golang.org/x/time](https://github.com/golang/time ) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/time/compare/v0.11.0...v0.12.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/time
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:11 +02:00
dependabot[bot]
4f03e03b2c
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.10.0...sdk/azidentity/v1.10.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.10.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:11 +02:00
Michael Eischer
242b607bf6
walker: fix error handling if tree cannot be loaded
...
A tree that cannot be loaded is a fatal error when walking the tree.
Thus, return the error and exit the tree walk.
2025-09-06 21:59:11 +02:00
Michael Eischer
22bbbf42f5
Fix release note typos
2025-09-06 21:59:11 +02:00
dependabot[bot]
3c8fc9d9bc
build(deps): bump github.com/peterbourgon/unixtransport
...
Bumps [github.com/peterbourgon/unixtransport](https://github.com/peterbourgon/unixtransport ) from 0.0.4 to 0.0.6.
- [Release notes](https://github.com/peterbourgon/unixtransport/releases )
- [Commits](https://github.com/peterbourgon/unixtransport/compare/v0.0.4...v0.0.6 )
---
updated-dependencies:
- dependency-name: github.com/peterbourgon/unixtransport
dependency-version: 0.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:11 +02:00
dependabot[bot]
5070e62b18
build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:59:11 +02:00
Patrick Wolf
d64bad1a90
Update 047_tuning_backup_parameters.rst - local backend ( #5355 )
...
users would find it helpful to know how to adjust the "local" backend and they might not get the idea that the local backend is just called local... which in turn leads them to think restic is slow as they can't adjust away from 2 threads for restore and backup.
2025-09-06 21:54:41 +02:00
Michael Eischer
6bdca9a7d5
add changelog for --stdin-filename with/directory
2025-09-06 21:54:41 +02:00
Michael Eischer
91d582a667
backup: test subdirectories in stdin filenames work
2025-09-06 21:54:41 +02:00
Michael Eischer
ef1e137e7a
fs/reader: return proper error on invalid filename
2025-09-06 21:54:41 +02:00
Michael Eischer
81ac49f59d
fs/reader: test file not exist case
2025-09-06 21:54:41 +02:00
Michael Eischer
ba2b0b2cc7
fs/reader: use test helpers
2025-09-06 21:54:41 +02:00
Michael Eischer
37a4235e4d
fs/reader: deduplicate test code
2025-09-06 21:54:41 +02:00
Michael Eischer
04898e41d1
fs/reader: fix open+stat handling
2025-09-06 21:54:41 +02:00
Michael Eischer
07e4a78e46
fs/reader: use modification time for file and directories
...
This ensures that a fixed input generates a fully deterministic output
file structure.
2025-09-06 21:54:41 +02:00
Michael Eischer
236f81758e
fs: rewrite Reader to build fs tree up front
...
This adds proper support for filenames that include directories. For
example, `/foo/bar` would result in an error when trying to open `/foo`.
The directory tree is now build upfront. This ensures let's the
directory tree construction be handled only once. All accessors then
only have to look up the constructed directory entries.
2025-09-06 21:54:41 +02:00
Ilya Grigoriev
16850c61fa
docs: when describing profiling, briefly explain .pprof files
2025-09-06 21:52:57 +02:00
Ilya Grigoriev
67a572fa0d
docs: document profiling options a bit better
...
Previously, the docs were a bit mysterious about what "enables profiling
support" means or how one could take advantage of it.
2025-09-06 21:52:57 +02:00
Ilya Grigoriev
4686a12a2d
bugfix: have --{cpu,mem,...}-profile work even if Restic exits with error code ( #5373 )
...
* bugfix: write pprof file for `--{cpu,mem,...}-profile` even on error code
Before this, if `restic backup --cpu-profile dir/ backup-dir/` couldn't
read some of the input files (e.g. they weren't readable by the user
restic was running under), the `cpu.pprof` file it outputs would be
empty.
https://github.com/spf13/cobra/issues/1893
* drop changelog as it's not relevant for end users
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-09-06 21:52:57 +02:00
dependabot[bot]
4dbed5f905
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.6.0...sdk/azcore/v1.6.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:52:57 +02:00
dependabot[bot]
d708c5ea73
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.8.2 to 1.10.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.8.2...sdk/azcore/v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:52:57 +02:00
Mark Lopez
ee0cb7d1aa
docs: updated installation docs for Windows
2025-09-06 21:52:57 +02:00
dependabot[bot]
590dc82719
build(deps): bump golang.org/x/sys from 0.31.0 to 0.33.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.31.0 to 0.33.0.
- [Commits](https://github.com/golang/sys/compare/v0.31.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 21:52:57 +02:00
Samuel Chambers
72d70d94f9
updated doc/faq.rst_commitsSquashed
2025-09-06 21:52:57 +02:00
Markus Hansmair
aaa48e765a
doc: typo & minor rewording in 'Removing files from snapshots'
2025-09-06 21:50:54 +02:00
Michael Eischer
f61cf4a1e5
docs: fix typos in developer information ( #5329 )
2025-09-06 21:50:54 +02:00
Michael Eischer
a22b9d5735
update direct dependencies ( #5340 )
2025-09-06 21:50:54 +02:00
dependabot[bot]
e9ae67c968
build(deps): bump docker/login-action from 3.3.0 to 3.4.0 ( #5333 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](9780b0c442...74a5d14239 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-06 21:50:54 +02:00
Mohammad Javad Naderi
1fe6fbc4b8
doc: fix typos
2025-09-06 21:50:54 +02:00
Gilbert Gilb's
3d4fb876f4
docs: fix unit for S3 restore timeout
...
"d" is not a valid unit.
2025-09-06 21:50:54 +02:00
Michael Eischer
5d182ed1ab
forget: fix ignored RESTIC_HOST environment variable
2025-09-06 21:50:54 +02:00
Michael Eischer
7f1ac5764a
Merge pull request #5358 from MichaelEischer/fix-tty-capture-in-background
...
Fix tty capture when started in background
2025-09-06 21:01:03 +02:00
Michael Eischer
52aa1cd17f
docs: sync compatibility section with website
...
This is no change in policy, just a more precise description of the
status quo.
2025-09-06 20:55:48 +02:00
Michael Eischer
42f690dbab
add changelog
2025-09-06 20:50:06 +02:00
Michael Eischer
914bd699be
backend: always start backend process in separate process group
...
The process group is necessary to properly handle ctrl-c.
2025-09-06 19:51:10 +02:00
Michael Eischer
4c19d6410f
backend: only move child process to foreground if already in foreground
...
The rclone and sftp backends require starting a child process. The are
first moved into the foreground and back into the background after the
initial startup is done.
However, this behavior is also active if restic itself is started in the
background. In this case, restic changing the foreground process may
confuse the shell and in case of bash causes it to exit. Thus, disable
modification of the controlling process group of the tty if restic is
run in the background.
2025-09-06 19:51:10 +02:00
Michael Eischer
2ad703bfd8
Merge pull request #5486 from greatroar/duration-panic
...
Avoid panic in duration parsing
2025-09-06 18:32:36 +02:00
greatroar
0864d04c5c
internal/restic: Fix panic in ParseDuration
...
Fixes #5485 . Includes test case by @MichaelEischer.
2025-09-06 10:30:34 +02:00
gregoster
839c38b4c4
EOPNOTSUPP can be returned if the filesystem does not support xattrs ( #5344 )
...
---------
Co-authored-by: Greg Oster <oster@netbsd.org >
2025-09-05 19:09:27 +00:00
Michael Eischer
e98c44baaf
Merge pull request #5421 from MichaelEischer/fix-backup-metadata-crash
...
backup: fix possible crash if directory disappears before metadata collection
2025-09-05 19:53:16 +02:00
Michael Eischer
01bc60e96f
backup: fix test on windows
2025-09-05 19:35:25 +02:00
Michael Eischer
484b706dd8
add changelog
2025-09-05 19:28:18 +02:00
Michael Eischer
350f6452e7
backup: test that parent directory errors can be correctly filtered
2025-09-05 19:28:18 +02:00
Michael Eischer
484cdf12e5
backup: test that missing parent directory is correctly handled
2025-09-05 19:28:18 +02:00
Michael Eischer
c8bb7bd312
backup: do not fail backup is some parent folder is inaccessible
...
Handle errors for parent directories of backup directories in the same
way as all other file access errors during a backup.
2025-09-05 19:28:18 +02:00
Michael Eischer
a8ce2e45cc
backup: do not crash if nodeFromFileInfo fails
...
this could crash in two cases:
- if a directory is deleted between restic stating it and trying to list
its directory content.
- when restic tries to list the parent directory of a backup target, but
the parent directory has been deleted.
return an error in this case instead.
2025-09-05 19:28:18 +02:00
Michael Eischer
275507fb3e
Merge pull request #5452 from dominikschulz/fix/storage
...
Mark HTTP Error 507 as permanent
2025-09-05 19:17:15 +02:00
Michael Eischer
391c27975a
Merge pull request #5460 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.2
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.6.1 to 1.6.2
2025-09-05 19:16:54 +02:00
Michael Eischer
7d47e60e27
Merge pull request #5481 from restic/dependabot/github_actions/actions/checkout-5
...
build(deps): bump actions/checkout from 4 to 5
2025-09-05 19:07:58 +02:00
Michael Eischer
5c17c277f3
add changelog
2025-09-05 19:07:09 +02:00
Dominik Schulz
48e5c0984e
Mark HTTP Error 507 as permanent
...
This change classifies HTTP error 507 (Insufficient Storage) as a
permanent error that should not be retried. I keep running into
this once in a while and there is literally no point in retrying when
the server is full.
Fixes #5429
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org >
2025-09-05 19:04:16 +02:00
dependabot[bot]
2414771a59
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.6.1...sdk/storage/azblob/v1.6.2 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 16:58:21 +00:00
Michael Eischer
0e381bdbf1
Merge pull request #5483 from restic/dependabot/go_modules/google.golang.org/api-0.248.0
...
build(deps): bump google.golang.org/api from 0.228.0 to 0.248.0
2025-09-05 18:47:58 +02:00
dependabot[bot]
11cd4a0a88
build(deps): bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 16:38:46 +00:00
dependabot[bot]
f54989f634
build(deps): bump google.golang.org/api from 0.228.0 to 0.248.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.228.0 to 0.248.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.228.0...v0.248.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.248.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 16:36:17 +00:00
Michael Eischer
af7f10d16b
Merge pull request #5482 from restic/dependabot/github_actions/docker/login-action-3.5.0
...
build(deps): bump docker/login-action from 3.4.0 to 3.5.0
2025-09-05 18:35:59 +02:00
Michael Eischer
6de95a3d58
Merge pull request #5484 from restic/dependabot/go_modules/golang.org/x/crypto-0.41.0
...
build(deps): bump golang.org/x/crypto from 0.39.0 to 0.41.0
2025-09-05 18:35:24 +02:00
dependabot[bot]
93f436e999
build(deps): bump golang.org/x/crypto from 0.39.0 to 0.41.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.39.0 to 0.41.0.
- [Commits](https://github.com/golang/crypto/compare/v0.39.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-01 02:10:03 +00:00
dependabot[bot]
6edb199efd
build(deps): bump docker/login-action from 3.4.0 to 3.5.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](74a5d14239...184bdaa072 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-01 01:57:28 +00:00
rawtaz
9b2c0a0c54
Merge pull request #5466 from y0n3d4/gentoo-install-info
...
Added Gentoo install info
2025-08-07 13:28:17 +02:00
y0n3d4
64273ea027
Update 020_installation.rst removing command options
...
Removed command options: their use is a user choice
2025-08-06 13:57:29 +02:00
Michele Testa
5a00d26431
Update 020_installation.rst adding instruction for Gentoo Linux
2025-08-05 15:16:37 +02:00
Michele Testa
3faad5751d
Revert "Update 020_installation.rst adding install command for Gentoo Linux"
...
This reverts commit f487eb1c66 .
2025-08-05 14:12:04 +02:00
y0n3d4
f487eb1c66
Update 020_installation.rst adding install command for Gentoo Linux
...
Added basic instructions for restic installation on Gentoo using the official package manager (Portage)
2025-08-05 14:01:10 +02:00
Michael Eischer
72636238d0
Merge pull request #5400 from rhhub/patch-2
...
docs: clarify ** wildcard must me between path separators
2025-08-04 20:56:07 +02:00
rawtaz
51098157e2
Merge pull request #5462 from TheAlchemistOf42/wasabi-link
...
Correct Wasabi link
2025-08-02 22:12:57 +02:00
A Crutcher
0b080c44d7
doc: Correct Wasabi link
2025-08-02 13:03:43 -05:00
Michael Eischer
b71fe91643
Merge pull request #5345 from mikix/chmod-enotsup
...
backend/local: ignore chmod "not supported" errors
2025-07-21 22:28:53 +02:00
Michael Eischer
9c3b8d171a
Merge pull request #5434 from restic/dependabot/go_modules/golang.org/x/time-0.12.0
...
build(deps): bump golang.org/x/time from 0.11.0 to 0.12.0
2025-07-21 22:17:40 +02:00
Michael Eischer
ddb7fb837b
Merge pull request #5435 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.10.1
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.10.0 to 1.10.1
2025-07-21 22:14:29 +02:00
Michael Eischer
3433c5abac
Merge pull request #5408 from MichaelEischer/fix-walker-crash
...
walker: fix error handling if tree cannot be loaded
2025-07-21 21:46:59 +02:00
dependabot[bot]
09bc58c950
build(deps): bump golang.org/x/time from 0.11.0 to 0.12.0
...
Bumps [golang.org/x/time](https://github.com/golang/time ) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/time/compare/v0.11.0...v0.12.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/time
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-21 19:46:35 +00:00
Michael Eischer
20eb9018a0
Merge pull request #5409 from MichaelEischer/fix-release-notes-typos
...
Fix release note typos
2025-07-21 21:46:05 +02:00
Michael Eischer
651f553530
Merge pull request #5436 from restic/dependabot/go_modules/github.com/peterbourgon/unixtransport-0.0.6
...
build(deps): bump github.com/peterbourgon/unixtransport from 0.0.4 to 0.0.6
2025-07-21 21:45:06 +02:00
Michael Eischer
aad4b53ead
Merge pull request #5438 from restic/dependabot/go_modules/golang.org/x/crypto-0.39.0
...
build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
2025-07-21 21:42:06 +02:00
greatroar
f7f6459eb9
internal/restic: Simplify ParallelRemove
2025-07-19 12:55:40 +02:00
greatroar
95a36b55f4
internal/dump: Clarify writeNode concurrency
2025-07-19 12:54:41 +02:00
greatroar
2c39b1f84f
internal/repository/index: Simplify MasterIndex concurrency
2025-07-18 15:06:37 +02:00
dependabot[bot]
e467496ace
build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-01 05:46:21 +00:00
dependabot[bot]
f2de260524
build(deps): bump github.com/peterbourgon/unixtransport
...
Bumps [github.com/peterbourgon/unixtransport](https://github.com/peterbourgon/unixtransport ) from 0.0.4 to 0.0.6.
- [Release notes](https://github.com/peterbourgon/unixtransport/releases )
- [Commits](https://github.com/peterbourgon/unixtransport/compare/v0.0.4...v0.0.6 )
---
updated-dependencies:
- dependency-name: github.com/peterbourgon/unixtransport
dependency-version: 0.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-01 05:07:50 +00:00
dependabot[bot]
c17d5ab2e1
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.10.0...sdk/azidentity/v1.10.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.10.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-01 05:07:41 +00:00
Michael Terry
a8535aba58
backend/local: ignore chmod "not supported" errors
2025-06-02 17:44:30 -04:00
rhhub
521fbad701
docs: clarify ** must me between path separators
2025-06-02 13:46:06 -07:00
Michael Eischer
15b7d7c3fc
Fix release note typos
2025-06-02 21:12:37 +02:00
Patrick Wolf
7d39b1bfe8
Update 047_tuning_backup_parameters.rst - local backend ( #5355 )
...
users would find it helpful to know how to adjust the "local" backend and they might not get the idea that the local backend is just called local... which in turn leads them to think restic is slow as they can't adjust away from 2 threads for restore and backup.
2025-06-02 18:40:04 +00:00
Michael Eischer
e4a7f4aadf
Merge pull request #5356 from MichaelEischer/fix-backup-stdin-filename
...
backup: Fix `--stdin-filename` with directory
2025-06-02 20:27:26 +02:00
Michael Eischer
10cfe96cd4
walker: fix error handling if tree cannot be loaded
...
A tree that cannot be loaded is a fatal error when walking the tree.
Thus, return the error and exit the tree walk.
2025-06-02 20:04:26 +02:00
Michael Eischer
2eaa79d33f
Merge pull request #5374 from ilyagr/docprofile
...
docs: document profiling options a bit better
2025-06-02 19:57:33 +02:00
Ilya Grigoriev
99ee5696f3
bugfix: have --{cpu,mem,...}-profile work even if Restic exits with error code ( #5373 )
...
* bugfix: write pprof file for `--{cpu,mem,...}-profile` even on error code
Before this, if `restic backup --cpu-profile dir/ backup-dir/` couldn't
read some of the input files (e.g. they weren't readable by the user
restic was running under), the `cpu.pprof` file it outputs would be
empty.
https://github.com/spf13/cobra/issues/1893
* drop changelog as it's not relevant for end users
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-06-02 17:57:07 +00:00
Ilya Grigoriev
e8dbb69a94
docs: when describing profiling, briefly explain .pprof files
2025-06-02 19:49:19 +02:00
Ilya Grigoriev
f4e21cdb75
docs: document profiling options a bit better
...
Previously, the docs were a bit mysterious about what "enables profiling
support" means or how one could take advantage of it.
2025-06-02 19:49:19 +02:00
Michael Eischer
e5bdc3c74f
Merge pull request #5382 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.1
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.6.0 to 1.6.1
2025-06-02 19:40:33 +02:00
Michael Eischer
7e51c928c4
Merge pull request #5384 from zmanda/feat-gh-5377-check-add-percentage-for-read-data-subset
...
check: add percentage of repository checked
2025-06-02 19:37:08 +02:00
dependabot[bot]
21e87851aa
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.6.0...sdk/azcore/v1.6.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-02 17:32:18 +00:00
Michael Eischer
2bc1bf2702
Merge pull request #5402 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.10.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.2 to 1.10.0
2025-06-02 19:19:10 +02:00
dependabot[bot]
df110060d1
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.8.2 to 1.10.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/go-mgmt-sdk-release-guideline.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.8.2...sdk/azcore/v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-02 16:45:38 +00:00
Michael Eischer
337a7d1205
Merge pull request #5385 from Silvenga/windows-docs
...
docs: updated installation docs for Windows
2025-06-02 18:44:43 +02:00
Michael Eischer
322e271dd2
Merge pull request #5404 from restic/dependabot/go_modules/golang.org/x/sys-0.33.0
...
build(deps): bump golang.org/x/sys from 0.31.0 to 0.33.0
2025-06-02 18:35:34 +02:00
dependabot[bot]
1ac224458f
build(deps): bump golang.org/x/sys from 0.31.0 to 0.33.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.31.0 to 0.33.0.
- [Commits](https://github.com/golang/sys/compare/v0.31.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-01 01:25:20 +00:00
rawtaz
126ad04568
Merge pull request #5389 from fronesis47/patch-3
...
Update passwords section of FAQ
2025-05-11 20:35:20 +02:00
Samuel Chambers
e732bdbfb8
updated doc/faq.rst_commitsSquashed
2025-05-11 14:02:07 -04:00
Mark Lopez
2db08fd749
docs: updated installation docs for Windows
2025-05-03 10:27:50 -05:00
Srigovind Nayak
debb110a7c
check: add percentage of repository checked
2025-05-03 18:08:12 +05:30
rawtaz
5eb4f5af61
Merge pull request #5360 from makuhama/master
...
doc: typo & minor rewording in 'Removing files from snapshots'
2025-05-02 01:05:08 +02:00
Markus Hansmair
287b601f01
doc: typo & minor rewording in 'Removing files from snapshots'
2025-04-16 09:37:26 +02:00
Michael Eischer
64c82a5d9c
Merge pull request #5357 from Hello71/patch-1
...
doc: add fastest, better compression
2025-04-14 20:02:41 +02:00
Alex Xu
12f36ebf07
doc: add fastest, better compression
...
Follow-up for #5321
2025-04-13 19:33:13 -04:00
Michael Eischer
45e09dca2a
add changelog for --stdin-filename with/directory
2025-04-11 22:29:18 +02:00
Michael Eischer
5bb9d0d996
backup: test subdirectories in stdin filenames work
2025-04-11 22:14:32 +02:00
Michael Eischer
9f39e8a1d3
fs/reader: return proper error on invalid filename
2025-04-11 22:07:31 +02:00
Michael Eischer
ddd48f1e98
fs/reader: test file not exist case
2025-04-11 21:57:45 +02:00
Michael Eischer
6e91ea3397
fs/reader: use test helpers
2025-04-11 21:54:15 +02:00
Michael Eischer
e7c1e4f1ff
fs/reader: deduplicate test code
2025-04-11 21:50:47 +02:00
Michael Eischer
70e1037a49
fs/reader: fix open+stat handling
2025-04-11 21:49:25 +02:00
Michael Eischer
19f48084ea
fs/reader: use modification time for file and directories
...
This ensures that a fixed input generates a fully deterministic output
file structure.
2025-04-11 21:46:24 +02:00
Michael Eischer
3a995172b7
fs: rewrite Reader to build fs tree up front
...
This adds proper support for filenames that include directories. For
example, `/foo/bar` would result in an error when trying to open `/foo`.
The directory tree is now build upfront. This ensures let's the
directory tree construction be handled only once. All accessors then
only have to look up the constructed directory entries.
2025-04-11 21:37:40 +02:00
Michael Eischer
0dffa1208d
Merge pull request #5243 from zmanda/feat-gh-4868-show-repo-id-in-df-and-mount
...
mount: append the repository ID to the name of the FUSE mount
2025-04-02 21:16:11 +02:00
Michael Eischer
6fbcce1d1a
docs: fix typos in developer information ( #5329 )
2025-04-02 21:12:43 +02:00
Michael Eischer
e8d458be7e
update direct dependencies ( #5340 )
2025-04-02 21:10:40 +02:00
dependabot[bot]
4471c7847b
build(deps): bump docker/login-action from 3.3.0 to 3.4.0 ( #5333 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](9780b0c442...74a5d14239 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-02 20:54:17 +02:00
Srigovind Nayak
f13e9c10a4
Add support for additional compression levels fastest and better ( #5321 )
...
* repository: expose addtional compression levels
* adding better and fastest compression levels for zstd
* repository: add changelog entry for issue-4728
* chore: fix golint issues
* chore: sort compression modes in the help text
* updating review comments
2025-03-31 21:21:12 +02:00
Michael Eischer
f768683162
Merge pull request #5322 from zmanda/fix-gh-5233-forget-failure-exit-codes
...
forget: return exit code 3 on partial removal of snapshots
2025-03-31 20:08:33 +02:00
Michael Eischer
0b7bdfed7e
Merge pull request #5320 from mjnaderi/patch-1
...
doc: fix typos
2025-03-31 20:07:51 +02:00
Michael Eischer
a4fe94ec82
Merge pull request #5317 from gilbsgilbs/fix-s3-restore-timeout-unit
...
docs: fix unit for S3 restore timeout
2025-03-31 20:01:22 +02:00
Michael Eischer
6684d1d2f5
Merge pull request #5327 from MichaelEischer/fix-forget-hostname-default
...
forget: fix ignored RESTIC_HOST environment variable
2025-03-31 19:21:13 +02:00
Michael Eischer
e1f7522174
forget: fix ignored RESTIC_HOST environment variable
2025-03-31 18:10:17 +02:00
Srigovind Nayak
d1649affb2
chore: update changelog for issue-5233
2025-03-30 14:12:06 +05:30
Srigovind Nayak
936c783c0f
forget: exit code 3 for snapshot removal failures
2025-03-30 14:11:32 +05:30
Mohammad Javad Naderi
5614cf4758
doc: fix typos
2025-03-29 12:40:47 +03:30
Srigovind Nayak
6db0d84ab0
changelog: add changelog entry for issue-4868
2025-03-29 13:27:50 +05:30
Srigovind Nayak
88b599c4f3
mount: append repository ID to FS name of FUSE mount
...
* update review comments
mount: append repository ID to FS name of the FUSE mount
2025-03-29 13:22:10 +05:30
Gilbert Gilb's
eefff0d793
docs: fix unit for S3 restore timeout
...
"d" is not a valid unit.
2025-03-27 21:20:50 +01:00
Alexander Neumann
3d14e92905
Set development version for 0.18.0
2025-03-27 20:17:36 +01:00
Alexander Neumann
d401ad6c1e
Add version for 0.18.0
2025-03-27 20:16:56 +01:00
Alexander Neumann
ab024e6a51
Update manpages and auto-completion
2025-03-27 20:16:56 +01:00
Alexander Neumann
0e5f41c842
Generate CHANGELOG.md for 0.18.0
2025-03-27 20:16:25 +01:00
Alexander Neumann
321ac6c1c9
Prepare changelog for 0.18.0
2025-03-27 20:16:25 +01:00
Michael Eischer
94b1af580b
Merge pull request #5316 from MichaelEischer/fix-docs
...
docs: SLSA is only setup for GHCR
2025-03-26 19:18:15 +01:00
Michael Eischer
cc6fbbe6ad
Merge pull request #5315 from MichaelEischer/proper-feature-flag-deprecation
...
Readd feature flags removed too soon
2025-03-26 19:17:17 +01:00
Michael Eischer
3f70485671
docs: SLSA is only setup for GHCR
2025-03-26 18:46:52 +01:00
Michael Eischer
d4772aa469
readd feature flags removed too soon
2025-03-26 18:38:30 +01:00
Michael Eischer
13cb90b83a
Merge pull request #5295 from MichaelEischer/randomize-pack-order
...
Randomize blob to pack file assignment
2025-03-25 18:13:49 +01:00
Michael Eischer
823cc3d93a
Polish changelogs ( #5308 )
...
* polish changelogs
* Additional changelog polishing
* fix test failure
* Correct changelog for recover command
---------
Co-authored-by: Leo R. Lundgren <leo@finalresort.org >
2025-03-25 18:12:51 +01:00
Michael Eischer
9eee32131a
Merge pull request #5307 from Martin2112/dial_tls
...
Replace deprecated DialTLS with DialTLSContext.
2025-03-25 18:12:10 +01:00
Michael Eischer
5e519a25f7
tweak changelog
...
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com >
2025-03-24 19:44:13 +01:00
Michael Eischer
c4eb2be31f
Merge pull request #5304 from restic/disable-gs-grpc-api
...
backend/gs: disable GRPC API to reduce binary size bloat
2025-03-24 19:03:09 +01:00
Michael Eischer
0b22d8dc64
Merge pull request #5306 from MichaelEischer/sftp-better-errors
...
sftp: improve error messages
2025-03-24 18:43:47 +01:00
Michael Eischer
2b65ef5710
backend/gs: disable GRPC API to reduce binary size bloat
...
Since cloud.google.com/go/storage v1.44.0 the GRPC API is enabled by
default. However, this causes the restic binary size to explode by 20MB.
So just disable it again.
2025-03-24 18:41:45 +01:00
Michael Eischer
ccb92f5bf0
repository/packer: add unit test for Merge method
2025-03-24 17:04:02 +01:00
Michael Eischer
37aa4f824f
add changelog and update threat model
2025-03-24 17:03:43 +01:00
Martin Smith
47b048f437
Rename param as it looks like context isn't used.
2025-03-24 15:01:47 +00:00
Martin Smith
cd7f384d77
Replace deprecated DialTLS with DialTLSContext.
2025-03-24 14:05:13 +00:00
Michael Eischer
9d58a27428
Merge pull request #5298 from Martin2112/lock_by_value
...
Fix lock pass by value and handle error from Release().
2025-03-24 14:42:38 +01:00
Michael Eischer
9aad8e9ea5
Merge pull request #5299 from Martin2112/go_cleanup
...
A few more small cleanups that should not change behaviour.
2025-03-24 13:59:39 +01:00
Michael Eischer
3adf7d4efb
backend/sftp: wrap further errors
2025-03-24 12:45:15 +01:00
Michael Eischer
66ec735ac2
backend/sftp: include file path in error messages
2025-03-24 12:44:42 +01:00
Michael Eischer
63a71f70e3
backend/sftp: ensure all errors are wrapped with the method name
2025-03-24 12:32:52 +01:00
Michael Eischer
e3ddc8a463
Merge pull request #5305 from restic/dependabot/go_modules/github.com/golang-jwt/jwt/v5-5.2.2
...
build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2
2025-03-24 11:23:42 +01:00
Michael Eischer
66a8e897a9
Merge pull request #5300 from MichaelEischer/fix-output-race
...
ui/termstatus: fix race condition in StdioWrapper
2025-03-24 11:17:14 +01:00
Michael Eischer
ffd63f893a
Merge pull request #5296 from MichaelEischer/reindex-before-recover
...
recover: reindex before reassembling snapshot
2025-03-24 11:16:38 +01:00
Michael Eischer
ec19d67512
ui/termstatus: fix race condition in StdioWrapper
2025-03-24 11:07:15 +01:00
dependabot[bot]
ef18feaeeb
build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2
...
Bumps [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt ) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/golang-jwt/jwt/releases )
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md )
- [Commits](https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2 )
---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-24 10:00:55 +00:00
Michael Eischer
171f303399
Merge pull request #5302 from restic/update-dependencies
...
update all direct dependencies
2025-03-24 10:51:59 +01:00
Michael Eischer
dda652614e
update all direct dependencies
2025-03-23 21:53:27 +01:00
Michael Eischer
784097a4f8
Merge pull request #5297 from MichaelEischer/fix-overwrite-behavior-help
...
restore: fix help message on invalid OverwriteBehavior
2025-03-23 20:06:10 +01:00
Michael Eischer
f5989964ed
restore: fix redundant default value for --overwrite option
2025-03-23 19:54:22 +01:00
Martin Smith
cfa3c5884d
Fix lock pass by value and handle error from Release().
2025-03-23 18:53:21 +00:00
Michael Eischer
d60acc5697
restore: fix help message on invalid OverwriteBehavior
2025-03-23 19:51:37 +01:00
Michael Eischer
2240d1801c
add changelog recover enhancement
2025-03-23 18:17:33 +01:00
Michael Eischer
99fdb00d39
recover: add minimal integration test
2025-03-23 18:07:41 +01:00
Michael Eischer
2409078d55
recover: automatically run repair index before recovering snapshots
2025-03-23 17:55:33 +01:00
Michael Eischer
0b6c355678
recover: refactor to use termstatus
2025-03-23 17:46:49 +01:00
Michael Eischer
f7f48b3026
ui/progress: extend Printer interface with print to stdout method
2025-03-23 17:46:04 +01:00
Michael Eischer
1221453d08
Merge pull request #5264 from restic/dependabot/go_modules/github.com/minio/minio-go/v7-7.0.87
...
build(deps): bump github.com/minio/minio-go/v7 from 7.0.77 to 7.0.87
2025-03-23 17:38:30 +01:00
Michael Eischer
4b975bda37
backend/s3: increase timeout for test initialization
2025-03-23 17:28:08 +01:00
Michael Eischer
f8b481fd9b
backend/s3: resolve credential retrieval deprecation
2025-03-23 17:28:08 +01:00
dependabot[bot]
f88d5adaa2
build(deps): bump github.com/minio/minio-go/v7 from 7.0.77 to 7.0.87
...
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go ) from 7.0.77 to 7.0.87.
- [Release notes](https://github.com/minio/minio-go/releases )
- [Commits](https://github.com/minio/minio-go/compare/v7.0.77...v7.0.87 )
---
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 >
2025-03-23 17:28:08 +01:00
Michael Eischer
89909d41aa
Merge pull request #5292 from restic/go-1.23
...
Add Go 1.24 and drop Go 1.22 support
2025-03-23 17:26:31 +01:00
Michael Eischer
06535e62c1
CI: increase timeout to work around slow cloud backend
2025-03-23 16:36:31 +01:00
Michael Eischer
c99c76ada8
backend/test: increase parallelism to run all TestBackend tests in parallel
2025-03-23 16:36:31 +01:00
Michael Eischer
4350b95d27
backend/test: fix delayedRemoval timeout handling
...
The timeout for all blobs starts to run after the delete calls have been
issue. Thus, use the same start time for all blobs instead of individual
timeouts.
2025-03-23 16:36:31 +01:00
Michael Eischer
2e58561ad6
backend/test: remove redundant test call to the backend
2025-03-23 16:36:31 +01:00
Michael Eischer
17b585f7c7
backend/test: partially parallelize delayedRemove
2025-03-23 16:36:31 +01:00
Michael Eischer
4640b3c41a
backend/test: parallelize slow tests
2025-03-23 16:36:31 +01:00
Michael Eischer
c36970074d
CI: bump golangci version
2025-03-23 16:36:31 +01:00
Michael Eischer
15e90b7a4c
test go 1.24 and drop support for 1.22
2025-03-23 16:36:31 +01:00
Michael Eischer
8d2d50d095
repository: merge small pack files before flushing
...
This prevents chunk size leaks when a backup only consists of a small
file which is split in two parts, which end up in two individual pack
files.
2025-03-23 12:29:16 +01:00
Michael Eischer
62453f9356
repository: randomly distribute blobs over two pack files
2025-03-23 12:29:16 +01:00
Martin Smith
6caad10840
Remove extra brackets.
2025-03-23 10:11:43 +00:00
Martin Smith
4420fde378
Remove deprecated HTTP option that is now the default.
2025-03-23 10:10:54 +00:00
Martin Smith
a389977bd7
Remove redudnant error check, handled above.
2025-03-23 10:05:13 +00:00
Martin Smith
6e45c51509
Fix name including package name and variable shadowing package.
2025-03-23 10:01:19 +00:00
Martin Smith
5e7333d28d
Unify repository receiver name.
2025-03-23 09:57:59 +00:00
Michael Eischer
c617364d15
Merge pull request #5262 from Martin2112/go_cleanup
...
A set of mostly automated Go cleanups for the code
2025-03-22 23:55:28 +01:00
Martin Smith
e2ccb18e22
Fix lint for missing const, after fixing godoc for the outer type.
2025-03-22 18:42:12 +00:00
Martin Smith
d2c5241961
Revert a fix that broke compile of sd_windows.go.
2025-03-22 18:27:09 +00:00
Martin Smith
f238f81ba6
Renames to fix clashes with reserved words.
2025-03-22 18:20:30 +00:00
Martin Smith
3788605127
Rename unused parameters to '_'.
2025-03-22 18:20:30 +00:00
Martin Smith
29b4680873
Remove unnecessary type conversions, second set.
2025-03-22 18:20:30 +00:00
Martin Smith
092899df8b
Remove unnecessary type conversions.
2025-03-22 18:20:30 +00:00
Martin Smith
2099ec1cd6
Remove import aliases that match package name.
2025-03-22 18:20:30 +00:00
Martin Smith
1daf5317f8
Fix import ordering.
2025-03-22 18:20:30 +00:00
Martin Smith
db8daeb192
Fix godoc comments.
2025-03-22 18:20:30 +00:00
Michael Eischer
ef692991a4
Merge pull request #5183 from wplapper/cmd_prune
...
restic prune: selection of packs to repack based on size
2025-03-22 15:43:32 +01:00
Michael Eischer
062cfc549d
prune: fix not working option
2025-03-22 15:34:40 +01:00
Michael Eischer
3e58b15ace
prune: allow --repack-smaller-than independently of --repack-small
2025-03-22 15:08:36 +01:00
Michael Eischer
69249372bf
Merge pull request #5249 from MichaelEischer/fix-repair-index
...
Prevent creation of oversized indexes and automatically rewrite them.
2025-03-22 14:29:39 +01:00
Michael Eischer
445477312c
Merge pull request #5251 from MichaelEischer/rclone-retries
...
Retry temporary rclone backend errors
2025-03-22 14:24:47 +01:00
Winfried Plappert
cc4712f8e9
add a test to cmd_ls_integration_test.go: test rest ls --json ( #5255 )
...
* cmd_ls: one more test: ls --json to check the JSON lines
validate that the individual JSON lines are valid JSON statements.
Check for snap ID and the path names in the backup.
2025-03-22 14:20:19 +01:00
Michael Eischer
c405e9e748
Merge pull request #5270 from prajwalbharadwajbm/master
...
build: improve GoVersion comparison logic
2025-03-22 12:05:40 +01:00
Michael Eischer
5f40e4b7c5
Merge pull request #5274 from luzpaz/typos
...
doc: fix various typos
2025-03-22 11:56:52 +01:00
Michael Eischer
0b0987233f
Merge pull request #5263 from restic/dependabot/github_actions/slsa-framework/slsa-github-generator-2.1.0
...
build(deps): bump slsa-framework/slsa-github-generator from 2.0.0 to 2.1.0
2025-03-22 11:53:09 +01:00
Michael Eischer
d66e9cfff5
Merge pull request #5267 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.8.2
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.1 to 1.8.2
2025-03-22 11:47:36 +01:00
Michael Eischer
e40996f0f1
Merge pull request #5265 from restic/dependabot/go_modules/github.com/klauspost/compress-1.18.0
...
build(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.0
2025-03-22 11:46:18 +01:00
dependabot[bot]
818cb386a5
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.8.1...sdk/azidentity/v1.8.2 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-22 10:39:29 +00:00
Michael Eischer
9f724f7dc5
Merge pull request #5268 from restic/dependabot/go_modules/golang.org/x/sync-0.11.0
...
build(deps): bump golang.org/x/sync from 0.10.0 to 0.11.0
2025-03-22 11:38:35 +01:00
Winfried Plappert
3f42c0ad96
restic prune changelog/unreleased - corrext typo
...
changed option from `--small-pack-size` to `--repack-smaller-than`
2025-03-15 12:51:29 +00:00
Luz Paz
794341a494
doc: fix various typos
...
Found via `codespell -q 3 -L atleast,iinclude,ist,programm,reenable,ser,uptodate`
2025-03-05 20:47:08 -05:00
Prajwal Bharadwaj BM
74b76ca0df
build: improve GoVersion comparison logic
...
Refactor AtLeast method to correctly handle version comparisons by:
- Checking major version first
- Handling minor version comparisons
- Ensuring correct comparison of patch versions
2025-03-01 12:51:11 +05:30
dependabot[bot]
3b21c7da3d
build(deps): bump golang.org/x/sync from 0.10.0 to 0.11.0
...
Bumps [golang.org/x/sync](https://github.com/golang/sync ) from 0.10.0 to 0.11.0.
- [Commits](https://github.com/golang/sync/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sync
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-01 01:53:26 +00:00
dependabot[bot]
f838bf1056
build(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.0
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.11 to 1.18.0.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.11...v1.18.0 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-01 01:53:16 +00:00
dependabot[bot]
664971eb1d
build(deps): bump slsa-framework/slsa-github-generator
...
Bumps [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator ) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases )
- [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md )
- [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v2.0.0...v2.1.0 )
---
updated-dependencies:
- dependency-name: slsa-framework/slsa-github-generator
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-01 01:11:52 +00:00
Michael Eischer
de9a040d27
Merge pull request #5256 from abaumg/fix/links-to-backblaze-documentation
...
Fix links to Backblaze documentation
2025-02-23 21:06:28 +01:00
Andreas Baumgartner
89826ef5ce
doc: fix links to Backblaze documentation
2025-02-21 23:43:02 +01:00
Winfried Plappert
a2a1309fd9
prune: make small pack size configureable for prune all changes together
...
cmd_prune.go: added option `--repack-smaller-than`
prune.go: added field `SmallPackBytes` to `PruneOptions`, including checking and processing
prune_test.go: added test `TestPruneSmall`
doc/060_forget.rst: added description of enhancement
changelog/unreleased/issue-5109: description of enhancement
2025-02-18 16:54:44 +00:00
Michael Eischer
6309952a82
add changelog for rclone retries
2025-02-17 21:33:35 +01:00
Michael Eischer
5e7ce45ede
retry: test error retries for flaky backends
2025-02-16 22:56:43 +01:00
Michael Eischer
cb8575f001
rclone: remove redundant Warmup methods
2025-02-16 22:41:22 +01:00
Michael Eischer
8d1185b3b8
retry/rclone: retry errors up to 5 times
2025-02-16 22:40:55 +01:00
Michael Eischer
c970e58739
backend: refactor backend Connections and HasAtomicReplace into Properties
2025-02-16 22:27:58 +01:00
Michael Eischer
5ddda7f5e9
Merge pull request #5242 from MichaelEischer/fix-read-stdin-msg
...
print password from stdin message only to terminal
2025-02-16 18:29:34 +01:00
Michael Eischer
8c12291f56
Merge pull request #5241 from MichaelEischer/cleanup-cli
...
Refactor CLI command initialization to use less global state
2025-02-16 18:28:48 +01:00
Michael Eischer
5190933561
Merge pull request #5240 from MichaelEischer/better-json-docs
...
Improve JSON output type documentation
2025-02-16 18:28:29 +01:00
Michael Eischer
00e69f242e
docs: fix datatypes
2025-02-16 18:17:22 +01:00
Michael Eischer
00628e952f
add changelog for oversized indexes
2025-02-16 17:58:36 +01:00
Michael Eischer
39e63ee4e3
index: add tests for oversized index handling
2025-02-16 17:42:00 +01:00
Michael Eischer
3b8d15d651
index: rewrite oversized indexes
2025-02-16 17:03:14 +01:00
Michael Eischer
2fd8a3865c
index: automatically write full indexes in StorePack
2025-02-16 16:39:38 +01:00
Michael Eischer
0c4e65228a
refactor secondary options
2025-02-07 21:29:33 +01:00
Michael Eischer
120bd08c0d
move globalOptions initialization into method
2025-02-07 21:29:33 +01:00
Michael Eischer
d378a171c8
cleanup backend initialization
2025-02-07 21:29:33 +01:00
Michael Eischer
c752867f0a
fix linter errors
2025-02-07 21:29:33 +01:00
Michael Eischer
412d6d9ec5
Create root command via function
2025-02-07 21:29:33 +01:00
Michael Eischer
5497217018
print password from stdin message only to terminal
2025-02-07 20:54:18 +01:00
Michael Eischer
aa9cdf93cf
refactor persistent options to be applied via functions
2025-02-07 19:03:46 +01:00
Michael Eischer
aacd6a47e3
refactor to use constructor functions to create cobra commands
...
This allows getting rid of the global options variables
2025-02-07 18:56:45 +01:00
Michael Eischer
dc9b6378f3
move cli flags into AddFlags on option structs
2025-02-06 22:10:41 +01:00
Michael Eischer
4e58902de6
doc: fix broken links
2025-02-06 20:59:36 +01:00
Michael Eischer
39823c5f6c
doc: deprecate short_id and add some missing fields
2025-02-06 20:53:01 +01:00
Michael Eischer
421842f41f
doc: add datatypes to JSON outputs
2025-02-06 20:10:42 +01:00
Michael Eischer
59b7007534
doc: reformat scripting tables
2025-02-06 19:46:41 +01:00
Michael Eischer
da47967316
Merge pull request #5194 from darkdragon-001/json-check
...
Json check
2025-02-05 22:15:10 +01:00
Dark Dragon
49a411f7ac
Print JSON summary in all error cases
2025-02-05 22:08:06 +01:00
Dark Dragon
7cc1aa0cd4
Add check summary
2025-02-05 22:08:06 +01:00
Dark Dragon
a58a8f2ce0
Add JSON output to check command
2025-02-05 22:08:05 +01:00
Dark Dragon
79d435efb1
Use printer.NewCounter() instead of newTerminalProgressMax()
...
where possible (max is unknown).
2025-02-05 22:07:47 +01:00
Michael Eischer
9cdf91b406
Merge pull request #5235 from MichaelEischer/refactor-ls-sorting
...
Refactor ls sorting
2025-02-05 20:44:08 +01:00
Winfried Plappert
4104a8e6a5
Issue: 4942: cmd_rewrite: add snapshot summary data to an existing snapshot. ( #5185 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-02-05 20:40:20 +01:00
Michael Eischer
6cc06e0812
ls: add missing error handling
2025-02-03 22:15:59 +01:00
Michael Eischer
c32613a624
ls: extract comparator
2025-02-03 22:15:59 +01:00
Michael Eischer
1807627dda
ls: refactor sorting into sortedPrinter struct
2025-02-03 22:15:59 +01:00
Michael Eischer
993eb112cd
ls: deduplicate sorting test
2025-02-03 22:15:54 +01:00
Michael Eischer
36d8916354
ls: use numeric based enum for SortMode
2025-02-03 22:11:46 +01:00
Winfried Plappert
060a44202f
ls: sort output by size, atime, ctime, mtime, time(=mtime), extension ( #5182 )
...
Enhancement: create ability to sort output of restic ls -l by
name, size, atime, ctime, mtime, time(=mtime), X(=extension), extension
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-02-03 22:07:04 +01:00
Michael Eischer
d79681b987
Merge pull request #5223 from restic/dependabot/go_modules/google.golang.org/api-0.219.0
...
build(deps): bump google.golang.org/api from 0.204.0 to 0.219.0
2025-02-03 21:32:15 +01:00
dependabot[bot]
90e2c419e4
build(deps): bump google.golang.org/api from 0.204.0 to 0.219.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.204.0 to 0.219.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.204.0...v0.219.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 >
2025-02-03 20:16:08 +00:00
Michael Eischer
7ab5bb6df4
Merge pull request #5232 from MichaelEischer/bump-go-version
...
Bump minimum go version to 1.22
2025-02-03 21:14:57 +01:00
Michael Eischer
efd2ec086f
Merge pull request #5179 from zmanda/fix-gh-5140-forget-reports-incorrect-number-of-files-deleted
...
forget: report count of deleted files correctly
2025-02-02 20:14:15 +01:00
Srigovind Nayak
8d970e36cf
tests: add unit test to check the progress counter for forget/prune
2025-02-02 20:18:56 +05:30
Srigovind Nayak
58f58a995d
parallel: increment progress bar before report function which may absorb the error
...
* sometimes, the report function may absorb the error and return nil, in those cases the bar.Add(1) method would execute even if the file deletion had failed
2025-02-02 19:45:36 +05:30
Michael Eischer
d71ddfb89b
bump minimum go version to 1.22
2025-02-02 15:05:47 +01:00
Gilbert Gilb's
536ebefff4
feat(backends/s3): add warmup support before repacks and restores ( #5173 )
...
* feat(backends/s3): add warmup support before repacks and restores
This commit introduces basic support for transitioning pack files stored
in cold storage to hot storage on S3 and S3-compatible providers.
To prevent unexpected behavior for existing users, the feature is gated
behind new flags:
- `s3.enable-restore`: opt-in flag (defaults to false)
- `s3.restore-days`: number of days for the restored objects to remain
in hot storage (defaults to `7`)
- `s3.restore-timeout`: maximum time to wait for a single restoration
(default to `1 day`)
- `s3.restore-tier`: retrieval tier at which the restore will be
processed. (default to `Standard`)
As restoration times can be lengthy, this implementation preemptively
restores selected packs to prevent incessant restore-delays during
downloads. This is slightly sub-optimal as we could process packs
out-of-order (as soon as they're transitioned), but this would really
add too much complexity for a marginal gain in speed.
To maintain simplicity and prevent resources exhautions with lots of
packs, no new concurrency mechanisms or goroutines were added. This just
hooks gracefully into the existing routines.
**Limitations:**
- Tests against the backend were not written due to the lack of cold
storage class support in MinIO. Testing was done manually on
Scaleway's S3-compatible object storage. If necessary, we could
explore testing with LocalStack or mocks, though this requires further
discussion.
- Currently, this feature only warms up before restores and repacks
(prune/copy), as those are the two main use-cases I came across.
Support for other commands may be added in future iterations, as long
as affected packs can be calculated in advance.
- The feature is gated behind a new alpha `s3-restore` feature flag to
make it explicit that the feature is still wet behind the ears.
- There is no explicit user notification for ongoing pack restorations.
While I think it is not necessary because of the opt-in flag, showing
some notice may improve usability (but would probably require major
refactoring in the progress bar which I didn't want to start). Another
possibility would be to add a flag to send restores requests and fail
early.
See https://github.com/restic/restic/issues/3202
* ui: warn user when files are warming up from cold storage
* refactor: remove the PacksWarmer struct
It's easier to handle multiple handles in the backend directly, and it
may open the door to reducing the number of requests made to the backend
in the future.
2025-02-01 18:26:27 +00:00
Michael Eischer
9566e2db4a
Merge pull request #5222 from MichaelEischer/docs-edit-links
...
doc: add edit on github link
2025-02-01 18:37:05 +01:00
Michael Eischer
7829728182
Merge pull request #5225 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.5.0 to 1.6.0
2025-02-01 17:03:33 +01:00
Michael Eischer
72b343fe5a
Merge pull request #5228 from greatroar/cleanup
...
ui/termstatus: Remove unused bytes.Buffer
2025-02-01 16:58:54 +01:00
Michael Eischer
9c8c59c889
Merge pull request #5226 from restic/dependabot/go_modules/github.com/spf13/pflag-1.0.6
...
build(deps): bump github.com/spf13/pflag from 1.0.5 to 1.0.6
2025-02-01 16:57:10 +01:00
dependabot[bot]
c4d988faf8
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.5.0...sdk/azcore/v1.6.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-01 15:56:10 +00:00
Michael Eischer
080c8de1a9
Merge pull request #5227 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.8.1
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.0 to 1.8.1
2025-02-01 16:55:04 +01:00
greatroar
c1781e0abb
ui/termstatus: Remove unused bytes.Buffer
2025-02-01 08:21:40 +01:00
dependabot[bot]
2b9113721c
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.8.0...sdk/azidentity/v1.8.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-01 01:43:20 +00:00
dependabot[bot]
afe4fcc0d9
build(deps): bump github.com/spf13/pflag from 1.0.5 to 1.0.6
...
Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag ) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/spf13/pflag/releases )
- [Commits](https://github.com/spf13/pflag/compare/v1.0.5...v1.0.6 )
---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-01 01:43:14 +00:00
Michael Eischer
c2e404a0ee
doc: add edit on github link
2025-01-31 18:53:03 +01:00
Winfried Plappert
c4be05dbc2
Issue 4433: Ability to define sort order for output of find command ( #5184 )
...
The old sorting behaviour was to sort snapshots from oldest to newest.
The new sorting order is from newest to oldest. If one wants to revert to the
old behaviour, use the option --reverse.
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-01-29 20:44:16 +00:00
rawtaz
d0d887138c
Merge pull request #5219 from MichaelEischer/ci-silence-shadow-builtin
...
CI: bump golangci-lint and silence warnings about shadowed builtins
2025-01-29 01:30:40 +01:00
Michael Eischer
8eaa4b6602
CI: bump golangci-lint to v1.63.4
2025-01-28 19:55:45 +01:00
Michael Eischer
e77681f2cd
remove unnecessary min function
2025-01-28 19:52:22 +01:00
Michael Eischer
a63500663a
CI: disable shadow builtin rule
...
Removing the shadowing cases leads to weird workarounds but doesn't help
much with code clarity.
2025-01-28 19:51:14 +01:00
Michael Eischer
fde64133df
Merge pull request #5212 from MichaelEischer/prune-fix-unused-size-duplicates
...
prune: correctly account for duplicates in max-unused check
2025-01-26 22:07:47 +01:00
Snshadow
6301250d83
fix: Windows VSS Event ID 8194 ( #5170 )
2025-01-26 15:25:38 +00:00
Michael Eischer
9331461a13
prune: correctly account for duplicates in max-unused check
...
The size comparison for `--max-unused` only accounted for unused but not
for duplicate data. For repositories with a large amount of duplicates
this can result in a situation where no data gets pruned even though
the amount of unused data is much higher than specified.
2025-01-19 17:47:49 +01:00
rawtaz
ed3922ac82
Merge pull request #5211 from MichaelEischer/bump-dockerfile-go-version
...
Bump dockerfile to go 1.23
2025-01-19 08:32:42 +01:00
Michael Eischer
8b63e1cd72
Merge pull request #5129 from tesshuflower/5089_exclude_xattrs_on_restore
...
Allow excluding xattrs at restore time
2025-01-18 23:15:11 +01:00
Michael Eischer
5e8654c71d
restore: fix xattr filter test on windows
2025-01-18 23:07:39 +01:00
Michael Eischer
d5a94583ed
bump dockerfile to go 1.23
2025-01-18 18:27:43 +01:00
Srigovind Nayak
115ecb3c92
tag: output the original ID and new snapshotID ( #5144 )
...
* tag: output the original ID and new snapshotID
tag: print changed snapshot information immediately
* print changed snapshot immediately after it has been saved
* add message type to the changedSnapshot
* add a summary type which will share the JSON output of the numer of changed snapshots
* updated verbosity of the changed snapshot in text mode to only work when verbosity > 2
* also use the terminal status printer for a standard handling for stdout messages
2025-01-14 18:57:47 +01:00
Michael Eischer
e6f9cfb8c8
Merge pull request #5168 from MichaelEischer/restrict-repository-unpacked
...
repository: restrict SaveUnpacked and RemoveUnpacked
2025-01-13 22:49:44 +01:00
Michael Eischer
b7ff8ea9cd
repository: expose cache via method
2025-01-13 22:40:18 +01:00
Michael Eischer
99e105eeb6
repository: restrict SaveUnpacked and RemoveUnpacked
...
Those methods now only allow modifying snapshots. Internal data types
used by the repository are now read-only. The repository-internal code
can bypass the restrictions by wrapping the repository in an
`internalRepository` type.
The restriction itself is implemented by using a new datatype
WriteableFileType in the SaveUnpacked and RemoveUnpacked methods. This
statically ensures that code cannot bypass the access restrictions.
The test changes are somewhat noisy as some of them modify repository
internals and therefore require some way to bypass the access
restrictions. This works by capturing an `internalRepository` or
`Backend` when creating the Repository using a test helper function.
2025-01-13 22:39:57 +01:00
Albin Vass
5bf0204caf
Do not skip root tree when searching for trees ( #5153 )
...
This fixes an issue where restic cannot find the tree when trying to find the
tree id of a snapshot.
---------
Co-authored-by: Albin Vass <albinvass@gmail.com >
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2025-01-13 21:08:38 +00:00
Michael Eischer
14d02df8bb
Merge pull request #5162 from MichaelEischer/promote-feature-gates
...
Stabilize `explicit-s3-anonymous-auth` and `safe-forget-keep-tags` feature flags
2025-01-13 22:03:06 +01:00
Michael Eischer
bd4ce8aac1
Merge pull request #4990 from m-wild/exclude-cloud-files
...
backup: allow excluding online-only cloud files
2025-01-13 21:24:53 +01:00
Michael Wildman
da71e77b28
backup: allow excluding online-only cloud files
2025-01-13 21:11:23 +01:00
Michael Eischer
27189e03ee
Merge pull request #4999 from konidev20/fix-gh-4983-slsa-provenance-for-ghcr-container-images
...
docker: sign container images pushed to GHCR with GitHub OIDC tokens
2025-01-12 22:38:33 +01:00
Michael Eischer
4e1eeeb721
Merge pull request #5207 from restic/dependabot/go_modules/golang.org/x/net-0.34.0
...
build(deps): bump golang.org/x/net from 0.30.0 to 0.34.0
2025-01-11 19:41:07 +01:00
Michael Eischer
3b37983a60
Merge pull request #5196 from restic/dependabot/go_modules/github.com/klauspost/compress-1.17.11
...
build(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.11
2025-01-11 19:39:25 +01:00
dependabot[bot]
99646fdf62
build(deps): bump golang.org/x/net from 0.30.0 to 0.34.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.30.0 to 0.34.0.
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.34.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-11 18:31:06 +00:00
Michael Eischer
0331891545
Merge pull request #5202 from knbr13/remove-duplicate-imports
...
remove duplicate imports
2025-01-11 19:28:07 +01:00
Michael Eischer
2b45c004be
Merge pull request #5200 from restic/dependabot/go_modules/golang.org/x/sys-0.28.0
...
build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0
2025-01-11 19:27:52 +01:00
Tesshu Flower
44cef25077
remove bad test xattr
...
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 21:12:03 -05:00
Tesshu Flower
cd84fe0853
xattrs - restore all by default, doc/chglog update
...
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 15:25:09 -05:00
Tesshu Flower
3ac697d03d
linux default restore only user xattrs, doc update
...
* On Linux restore only user.* xattrs by default
* restore all for other OSs
* Update docs and changelog about the new restore
flags --exclude-xattr and --include-xattr
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 15:13:45 -05:00
Tesshu Flower
24422e20a6
restore: xattr restore filter tests
...
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 15:13:44 -05:00
Tesshu Flower
f457b16b23
update nodeRestoreExtendedAttributes() for win
...
- also other platforms
- move xattr include/exclude filter parsing into
separate func
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 15:13:44 -05:00
Tesshu Flower
af839f9548
restore: exclude/include xattrs
...
For: https://github.com/restic/restic/issues/5089
Signed-off-by: Tesshu Flower <tflower@redhat.com >
2025-01-10 15:13:40 -05:00
knbr13
bbb492ee65
remove duplicate imports
2025-01-05 13:53:20 +02:00
dependabot[bot]
01405f1e1b
build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/sys/compare/v0.27.0...v0.28.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 >
2025-01-01 01:54:17 +00:00
dependabot[bot]
caa59bb81b
build(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.11
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.9 to 1.17.11.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.9...v1.17.11 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-01 01:54:05 +00:00
rawtaz
de3acd7937
Merge pull request #5180 from vmlemon/master
...
Enable xattr support, on NetBSD 10+
2024-12-23 20:05:06 +01:00
Tyson Key
9e85119d73
Update changelog, for issue 5174 (Enable xattr support, on NetBSD 10+)
2024-12-19 14:32:16 +00:00
Tyson Key
37969ae8e3
Enable xattr support, on NetBSD 10+
2024-12-18 16:52:44 +00:00
Aneesh N
6808004ad1
Refactor extended attributes and security descriptor helpers to use go-winio ( #5040 )
...
* Refactor ea and sd helpers to use go-winio
Import go-winio and instead of copying the functions to encode/decode extended attributes and enable process privileges for security descriptors, call the functions defined in go-winio.
2024-12-09 21:48:38 +01:00
Srigovind Nayak
8d45a4b283
changelog: update to indicate change applies only for GHCR images.
2024-12-02 01:11:26 +05:30
Srigovind Nayak
4fb9aa4351
docker: fix typos and permissions for jobs
2024-12-02 00:16:19 +05:30
Srigovind Nayak
d422e75e08
docs: add instructions for verifying SLSA provenance of Docker images
...
docs: update the documentation
2024-12-02 00:14:39 +05:30
Srigovind Nayak
144221b430
docker: add SLSA provenance to .github workflow
...
* the id-token of the GitHub Actions workflow will be used for image signing
* replace branch-based tagging with SHA-based tagging since, branch names are mutable, SLSA provenance requires immutable tagging
* use official SLSA framework Github Reusable workflow
docker: fix incorrect registry name in image output step
* use REGISTRY environment variable instead of IMAGE_REGISTRY
docker: revert change to remove branch tag
2024-12-02 00:14:38 +05:30
Srigovind Nayak
d7d9af4c9f
ui: restore --delete indicates number of deleted files ( #5100 )
...
* ui: restore --delete indicates number of deleted files
* adds new field `FilesDeleted` to the State struct, JSON and text progress updaters
* increment FilesDeleted count when ReportedDeletedFile
* ui: collect the files to be deleted, delete, then update the count post deletion
* docs: update scripting output fields for restore command
ui: report deleted directories and refactor function name to ReportDeletion
2024-12-01 15:29:11 +01:00
Michael Eischer
2f0049cd6c
Merge pull request #5141 from richgrov/missing-azure-env-error
...
Return error if AZURE_ACCOUNT_NAME not set
2024-12-01 14:01:56 +01:00
Michael Eischer
72c02fa759
Merge pull request #5167 from restic/dependabot/go_modules/github.com/pkg/sftp-1.13.7
...
build(deps): bump github.com/pkg/sftp from 1.13.6 to 1.13.7
2024-12-01 13:14:03 +01:00
dependabot[bot]
770841f95d
build(deps): bump github.com/pkg/sftp from 1.13.6 to 1.13.7
...
Bumps [github.com/pkg/sftp](https://github.com/pkg/sftp ) from 1.13.6 to 1.13.7.
- [Release notes](https://github.com/pkg/sftp/releases )
- [Commits](https://github.com/pkg/sftp/compare/v1.13.6...v1.13.7 )
---
updated-dependencies:
- dependency-name: github.com/pkg/sftp
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-01 12:02:01 +00:00
Michael Eischer
5e0a045481
Merge pull request #5163 from restic/dependabot/go_modules/golang.org/x/sys-0.27.0
...
build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0
2024-12-01 13:00:28 +01:00
Michael Eischer
3fecddafe8
Merge pull request #5165 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.5.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.4.0 to 1.5.0
2024-12-01 12:58:24 +01:00
dependabot[bot]
40987a5f80
build(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/sys/compare/v0.26.0...v0.27.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-12-01 11:48:44 +00:00
Michael Eischer
875976f4a8
Merge pull request #5166 from restic/dependabot/go_modules/golang.org/x/text-0.20.0
...
build(deps): bump golang.org/x/text from 0.19.0 to 0.20.0
2024-12-01 12:47:55 +01:00
dependabot[bot]
2dc00cfd36
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.4.0...sdk/azcore/v1.5.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-01 11:45:54 +00:00
Michael Eischer
45d2b4cd3c
Merge pull request #5161 from restic/bump-backblaze-library
...
bump backblaze/blazer to v0.7.1
2024-12-01 12:45:00 +01:00
dependabot[bot]
a4d776ec8f
build(deps): bump golang.org/x/text from 0.19.0 to 0.20.0
...
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.19.0...v0.20.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-12-01 01:41:13 +00:00
Michael Eischer
098db935f7
Stabilize explicit-s3-anonymous-auth and safe-forget-keep-tags flags
...
The features can no longer be disabled.
2024-11-30 21:22:51 +01:00
Michael Eischer
ead57ec501
bump backblaze/blazer to v0.7.1
2024-11-30 21:17:06 +01:00
Michael Eischer
8f9d755b44
Merge pull request #5158 from dnnr/clarify-max-repack-size
...
Reword description of --max-repack-size for clarity
2024-11-30 19:19:01 +01:00
Daniel Danner
1062546563
Mention size
2024-11-30 17:52:29 +01:00
Michael Eischer
0bf8af7188
Merge pull request #5138 from vmlemon/issue-5131
...
Implement basic DragonFlyBSD support
2024-11-30 17:32:59 +01:00
Michael Eischer
9a674ecc34
Merge pull request #5146 from MichaelEischer/inline-extended-stat
...
fs: Inline ExtendedFileInfo
2024-11-30 17:23:34 +01:00
Michael Eischer
9a99141a5f
fs: remove os.FileInfo from fs.ExtendedFileInfo
...
Only the `Sys()` value from os.FileInfo is kept as field `sys` to
support Windows. The os.FileInfo removal ensures that for values like
`ModTime` that existed in both data structures there's no more confusion
which value is actually used.
2024-11-30 17:07:36 +01:00
Michael Eischer
847b2efba2
archiver: remove fs parameter from fileChanged function
2024-11-30 16:19:16 +01:00
Michael Eischer
641390103d
fs: inline ExtendedStat
2024-11-30 16:19:16 +01:00
Michael Eischer
806fa534ce
Merge pull request #5145 from MichaelEischer/ignore-disappeared-files
...
backup: Ignore disappeared files
2024-11-30 16:15:31 +01:00
Michael Eischer
5df6bf80b1
fs: retry vss creation on VSS_E_SNAPSHOT_SET_IN_PROGRESS error
...
Depending on the change packages, the VSS tests from ./cmd/restic and
the fs package may overlap in time. This causes the snapshot creation to
fail. Add retries in that case.
2024-11-30 16:07:18 +01:00
Michael Eischer
dc89aad722
build dragonflybsd binaries
2024-11-30 15:47:39 +01:00
Tyson Key
3c0ceda536
Add basic support for DragonFlyBSD
2024-11-30 15:42:15 +01:00
Michael Eischer
c5fb46da53
archiver: ignore files removed in the meantime
2024-11-30 15:30:42 +01:00
Michael Eischer
8642049532
Merge pull request #5143 from MichaelEischer/fs-handle-interface
...
fs: rework FS interface to be handle based
2024-11-30 15:29:31 +01:00
Michael Eischer
8644bb145b
Merge pull request #5134 from MichaelEischer/better-time-restore-error
...
restore: improve error if timestamp fails to restore
2024-11-30 13:09:33 +01:00
Daniel Danner
0997f26461
Reword description --max-repack-size for clarity
2024-11-29 23:29:43 +01:00
Michael Eischer
a5c49e5340
Merge pull request #5142 from MichaelEischer/fix-not-ordered-error-message
...
restic: add missing space in error message
2024-11-29 22:48:16 +01:00
Michael Eischer
b51bf0c0c4
fs: test File implementation of Local FS
2024-11-16 16:09:17 +01:00
Michael Eischer
6cb19e0190
archiver: fix file type change test
...
The test did not test the case that the type of a file changed
unexpectedly.
2024-11-16 16:09:17 +01:00
Michael Eischer
d7f4b9db60
fs: deduplicate placeholders for generic and xattrs
2024-11-16 16:09:17 +01:00
Michael Eischer
087f95a298
fs: make generic and extended attrs independent of each other
2024-11-16 15:38:56 +01:00
Michael Eischer
6084848e5a
fs: fix O_NOFOLLOW for metadata handles on Windows
2024-11-16 15:38:56 +01:00
Michael Eischer
48dbefc37e
fs / archiver: convert to handle based interface
...
The actual implementation still relies on file paths, but with the
abstraction layer in place, an FS implementation can ensure atomic file
accesses in the future.
2024-11-16 12:56:23 +01:00
Michael Eischer
2f2ce9add2
fs: remove Stat from FS interface
2024-11-16 12:56:23 +01:00
Michael Eischer
623ba92b98
fs: drop unused permission parameter from OpenFile
2024-11-16 12:56:23 +01:00
Michael Eischer
b402e8a6fc
fs: stricter enforcement to only call readdir on a directory
...
Use O_DIRECTORY to prevent opening any other than a directory in
readdirnames.
2024-11-16 12:56:23 +01:00
Richard Grover
548fa07577
Add changelog info
2024-11-15 14:46:34 -07:00
Michael Eischer
f8031561f2
archiver: deduplicate error filtering
2024-11-15 17:58:06 +01:00
Michael Eischer
49ef3ebec3
restic: add missing space in error message
2024-11-15 17:52:09 +01:00
Richard Grover
dfbd4fb983
Error if AZURE_ACCOUNT_NAME not set
2024-11-13 08:02:22 -07:00
Michael Eischer
1133498ef8
Merge pull request #5046 from konidev20/fix-gh-4521-azure-blob-storage-add-support-for-access-tiers
...
azure: add support for access tiers hot, cool and cold
2024-11-11 22:01:52 +01:00
Michael Eischer
9c758313e3
Merge pull request #5119 from MichaelEischer/backup-json-start-end-time
...
backup: include start and end time in json output
2024-11-11 21:50:30 +01:00
Michael Eischer
82c5043fc9
Reduce checkboxes in PR checklist ( #5120 )
...
The basics around how to format commits and PR settings are primarily
relevant when opening a PR for the first time. But for repeated
contributors it is tedious to always tick those checkboxes.
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com >
2024-11-11 21:49:26 +01:00
Michael Eischer
a73ae7ba1a
restore: improve error if timestamp fails to restore
2024-11-11 21:37:28 +01:00
Michael Eischer
bd16804812
Merge branch 'patch-release'
2024-11-09 11:43:01 +01:00
Alexander Neumann
e2a98aa955
Set development version for 0.17.3
2024-11-08 20:36:48 +01:00
Alexander Neumann
bc64921a8e
Add version for 0.17.3
2024-11-08 20:36:36 +01:00
Alexander Neumann
633883bdb6
Generate CHANGELOG.md for 0.17.3
2024-11-08 20:36:25 +01:00
Alexander Neumann
8348024664
Prepare changelog for 0.17.3
2024-11-08 20:36:25 +01:00
Michael Eischer
c3f5748e5b
Merge pull request #5126 from restic/polish-changelogs
...
doc: Polish changelogs before release
2024-11-04 19:32:03 +01:00
Leo R. Lundgren
06ba4af436
doc: Polish changelogs before release
2024-11-03 22:55:06 +01:00
Michael Eischer
fb4d9b3232
Merge pull request #5125 from restic/patch-release-cherrypicks
...
Prepare patch release
2024-11-03 22:24:49 +01:00
Michael Eischer
7bfe3d99ae
fs: fallback to low privilege security descriptors on access denied
2024-11-03 21:45:52 +01:00
Michael Eischer
d46525a51b
fix double printf usage
2024-11-03 21:44:45 +01:00
Michael Eischer
3800eac54b
prepare-release: improve handling of release from non-master branch
...
The final push command now states the correct branch to push.
2024-11-03 21:44:45 +01:00
Michael Eischer
75f317eaf1
sftp: check for broken connection in Load/List operation
2024-11-03 21:44:45 +01:00
Michael Eischer
b8527f4b38
prune: allow dry-run without taking a lock
2024-11-03 21:44:45 +01:00
Joram Berger
b8b7896d4c
doc: Clarify number of blobs are added
...
The numbers reported as `data_blobs` and `tree_blobs` are not total numbers of blobs but numbers of blobs added with the given snapshot.
2024-11-03 21:42:58 +01:00
Michael Eischer
d0c5b5a9b7
add changelog for fuse fix
2024-11-03 21:42:20 +01:00
Michael Eischer
8aebea7ba2
fuse: test that the same fs.Node is used for the same file
2024-11-03 21:42:20 +01:00
Michael Eischer
0e9716a6e6
fuse: forget fs.Node instances on request by the kernel
...
Forget fs.Node instances once the kernel frees the corresponding nodeId.
This ensures that restic does not run out of memory on large snapshots.
2024-11-03 21:42:19 +01:00
Michael Eischer
de4f8b344e
fuse: add missing type assertion for optional interfaces
2024-11-03 21:41:22 +01:00
Michael Eischer
75ec7d3269
fuse: cache fs.Node instances
...
A particular node should always be represented by a single instance.
This is necessary to allow the fuse library to assign a stable nodeId to
a node. macOS Sonoma trips over the previous, unstable behavior when
using fuse-t.
2024-11-03 21:41:13 +01:00
Michael Eischer
d8e0384940
doc: document safety feature for --target / --delete
2024-11-03 21:38:01 +01:00
Michael Eischer
408ec41a1d
Merge pull request #5123 from MichaelEischer/fix-removable-media-handling
...
fs: fallback to low privilege security descriptors on access denied
2024-11-03 21:35:38 +01:00
Michael Eischer
270e7b7679
Merge pull request #5122 from restic/bump-golangci-lint
...
Bump go and golangci lint version
2024-11-03 21:34:25 +01:00
Michael Eischer
97f3e15039
Merge pull request #5121 from MichaelEischer/improve-release-helper
...
prepare-release: improve handling of release from non-master branch
2024-11-03 21:31:33 +01:00
Michael Eischer
d5bd3fcda5
Merge pull request #5112 from MichaelEischer/fix-vss-root-volume
...
Fix VSS metadata error (master)
2024-11-03 21:30:39 +01:00
Michael Eischer
62222edc4a
Merge pull request #5110 from MichaelEischer/fix-vss-root-volume-patch
...
Fix VSS metadata error (v0.17.2)
2024-11-03 21:28:34 +01:00
Michael Eischer
f9a90aae89
fs: fallback to low privilege security descriptors on access denied
2024-11-01 19:10:52 +01:00
Michael Eischer
289159beaf
fs: remove redundant fixpath in vss code
2024-11-01 19:03:45 +01:00
Michael Eischer
4052a5927c
fs: move getVolumePathName function
2024-11-01 19:03:45 +01:00
Michael Eischer
d3c3390a51
ls: proper error handling if output is not possible
2024-11-01 17:07:43 +01:00
Michael Eischer
569a117a1d
improve fprintf related error handling
2024-11-01 17:07:43 +01:00
Michael Eischer
41fa41b28b
fix double printf usage
2024-11-01 16:36:23 +01:00
Michael Eischer
3eb9556f6a
CI: add go 1.23
2024-11-01 16:34:00 +01:00
Michael Eischer
f5b1f9c8b1
CI: bump golangci-lint to latest version
2024-11-01 16:33:47 +01:00
Michael Eischer
e65f4e2231
backup: include start and end time in json output
...
The timestamps were already stored in the created snapshot.
2024-11-01 16:31:34 +01:00
Michael Eischer
bcf5fbe498
prepare-release: improve handling of release from non-master branch
...
The final push command now states the correct branch to push.
2024-11-01 16:22:32 +01:00
Michael Eischer
ded9fc7690
Merge pull request #5101 from MichaelEischer/sftp-load-error
...
sftp: check for broken connection in Load/List operation
2024-11-01 16:05:29 +01:00
Michael Eischer
b3b173a47c
fs: use non existing vss path to avoid flaky test
...
The test used \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 , which if
it exists and supports extended attributes can cause the test to fail.
2024-11-01 15:38:05 +01:00
Michael Eischer
e18a2a0072
Merge pull request #5096 from MichaelEischer/prune-allow-dry-run
...
prune: allow dry-run without taking a lock
2024-11-01 15:34:15 +01:00
Michael Eischer
1eea41c49e
Merge pull request #5095 from MichaelEischer/retry-load-config
...
Retry loading or creating repository config
2024-11-01 15:33:45 +01:00
Michael Eischer
71c185313e
sftp: check for broken connection in Load/List operation
2024-11-01 15:33:27 +01:00
Michael Eischer
868efe4968
prune: allow dry-run without taking a lock
2024-11-01 15:27:25 +01:00
Michael Eischer
3be2b8a54b
add config retry changelog
2024-11-01 15:22:55 +01:00
Michael Eischer
b5bc76cdc7
test retry on repo opening
2024-11-01 15:17:54 +01:00
Michael Eischer
58dc4a6892
backend/retry: hide final log for stat() method
...
stat is only used to check the config file's existence. We don't want
log output in this case.
2024-11-01 15:17:54 +01:00
Michael Eischer
74c783b850
retry load or creating repository config
...
By now missing files are not endlessly retried by the retry backend such
that it can be enabled right from the start.
In addition, this change also enables the retry backend for the `init`
command.
2024-11-01 15:17:54 +01:00
Michael Eischer
fc92a04284
Merge pull request #5116 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.8.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.7.0 to 1.8.0
2024-11-01 15:07:23 +01:00
Michael Eischer
2f698d1cff
Merge pull request #5117 from restic/dependabot/go_modules/google.golang.org/api-0.204.0
...
build(deps): bump google.golang.org/api from 0.199.0 to 0.204.0
2024-11-01 15:01:10 +01:00
dependabot[bot]
d8bf327d8b
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.7.0...sdk/azcore/v1.8.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-01 13:54:05 +00:00
Michael Eischer
2b3672198c
Merge pull request #5115 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azcore-1.16.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.14.0 to 1.16.0
2024-11-01 14:53:13 +01:00
dependabot[bot]
de847a48bf
build(deps): bump google.golang.org/api from 0.199.0 to 0.204.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.199.0 to 0.204.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.199.0...v0.204.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-11-01 13:52:51 +00:00
Michael Eischer
d1d8ae7368
Merge pull request #5113 from restic/dependabot/go_modules/golang.org/x/time-0.7.0
...
build(deps): bump golang.org/x/time from 0.6.0 to 0.7.0
2024-11-01 14:52:18 +01:00
Michael Eischer
a32c98a39c
Merge pull request #5114 from restic/dependabot/go_modules/golang.org/x/sys-0.26.0
...
build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0
2024-11-01 14:51:58 +01:00
dependabot[bot]
53cb6200fa
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go ) from 1.14.0 to 1.16.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.14.0...sdk/azcore/v1.16.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-01 01:43:23 +00:00
dependabot[bot]
ae9268dadf
build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/sys/compare/v0.25.0...v0.26.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-11-01 01:43:12 +00:00
dependabot[bot]
a494bf661d
build(deps): bump golang.org/x/time from 0.6.0 to 0.7.0
...
Bumps [golang.org/x/time](https://github.com/golang/time ) from 0.6.0 to 0.7.0.
- [Commits](https://github.com/golang/time/compare/v0.6.0...v0.7.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/time
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-01 01:43:08 +00:00
Michael Eischer
962279479d
add vss metadata changelog
2024-10-31 22:07:15 +01:00
Michael Eischer
0aee70b496
restic: test path handling of volume shadow copy root path
2024-10-31 22:07:15 +01:00
Michael Eischer
4380627cb7
backup: run test with absolute path
2024-10-31 22:07:15 +01:00
Michael Eischer
e38f6794cd
restic: fix error in fillGenericAttributes for vss volumes
...
Extended attributes and security descriptors apparently cannot be
retrieved from a vss volume. Fix the volume check to correctly detect
vss volumes and just completely disable extended attributes for volumes.
2024-10-31 22:07:15 +01:00
Michael Eischer
f77e67086c
fs: add correct vss support to fixpath
...
Paths that only contain the volume shadow copy snapshot name require
special treatment. These paths must end with a slash for regular file
operations to work.
2024-10-31 22:07:15 +01:00
Michael Eischer
51cd1c847b
backup: log error if test backup fails
2024-10-31 22:06:50 +01:00
Michael Eischer
14370fbf9e
add vss metadata changelog
2024-10-31 22:06:50 +01:00
Michael Eischer
62af5f0b4a
restic: test path handling of volume shadow copy root path
2024-10-31 22:06:50 +01:00
Michael Eischer
cb9247530e
backup: run test with absolute path
2024-10-31 22:06:50 +01:00
Michael Eischer
1d0d5d87bc
fs: fix error in fillGenericAttributes for vss volumes
...
Extended attributes and security descriptors apparently cannot be
retrieved from a vss volume. Fix the volume check to correctly detect
vss volumes and just completely disable extended attributes for volumes.
2024-10-31 22:06:50 +01:00
Michael Eischer
03aad742d3
fs: add correct vss support to fixpath
...
Paths that only contain the volume shadow copy snapshot name require
special treatment. These paths must end with a slash for regular file
operations to work.
2024-10-31 22:06:50 +01:00
Michael Eischer
15b7fb784f
fs: cleanup fixpath
2024-10-31 21:49:03 +01:00
rawtaz
33da501c35
Merge pull request #5105 from joram-berger/patch-2
...
doc: Clarify number of blobs are added
2024-10-27 19:11:56 +00:00
Joram Berger
cd44b2bf8b
doc: Clarify number of blobs are added
...
The numbers reported as `data_blobs` and `tree_blobs` are not total numbers of blobs but numbers of blobs added with the given snapshot.
2024-10-27 19:58:21 +01:00
Michael Eischer
1f0f6ad63d
Merge branch 'patch-release'
2024-10-27 18:35:32 +01:00
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
Alexander Neumann
7eec85b4eb
Set development version for 0.17.2
2024-10-27 16:37:28 +01:00
Alexander Neumann
2fb07dcdb1
Add version for 0.17.2
2024-10-27 16:37:19 +01:00
Alexander Neumann
5dcee7f0a3
Update manpages and auto-completion
2024-10-27 16:37:19 +01:00
Alexander Neumann
44968c7d43
Generate CHANGELOG.md for 0.17.2
2024-10-27 16:37:08 +01:00
Alexander Neumann
dbb5fb9fbd
Prepare changelog for 0.17.2
2024-10-27 16:37:08 +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
3a4a5a8215
Merge pull request #5102 from MichaelEischer/polish-changelogs
...
Polish patch release changelogs
2024-10-23 18:52:40 +02:00
Michael Eischer
d8d955e0aa
Tweak wording
...
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com >
2024-10-22 20:00:39 +02:00
Michael Eischer
2ce485063f
polish changelogs
2024-10-22 19:48:59 +02:00
Michael Eischer
f72febb34f
Merge pull request #5099 from MichaelEischer/hackport-fix-vss-metadata
...
Hackport "backup: read extended metadata from snapshot"
2024-10-22 19:24:08 +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
Srigovind Nayak
db686592a1
debug: azure add debug log to show access-tier
2024-10-20 20:24:49 +05:30
Srigovind Nayak
bff3341d10
azure: add support for hot, cool, or cool access tiers
2024-10-20 15:27:21 +05:30
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
ee9a5cdf70
add vss metadata changelog
2024-10-18 22:51:55 +02:00
Michael Eischer
46dce1f4fa
backup: work around file deletion error in test
2024-10-18 22:51:55 +02:00
Michael Eischer
841f8bfef0
redirect test log output to t.Log()
2024-10-18 22:51:55 +02:00
Michael Eischer
1f5791222a
backup: test that vss backups work if underlying data was removed
2024-10-18 22:51:55 +02:00
Michael Eischer
ec43594003
add vss metadata changelog
2024-10-18 22:36:03 +02:00
Michael Eischer
a7b13bd603
fs: remove file.Name() from interface
...
The only user was archiver.fileSaver.
2024-10-18 22:29:03 +02:00
Michael Eischer
0c711f5605
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 22:29:03 +02:00
Michael Eischer
4df2e33568
archiver: properly create node for vss backups
...
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.
This change is a temporary solution for restic 0.17.2 and will be
replaced with a clean fix in restic 0.18.0.
2024-10-18 22:26:18 +02:00
Michael Eischer
11c1fbce20
Merge pull request #5098 from MichaelEischer/prepare-patch-release
...
Prepare patch release
2024-10-18 22:20:27 +02:00
Michael Eischer
e1faf7b18c
backup: work around file deletion error in test
2024-10-18 22:08:10 +02:00
Connor Findlay
9553d873ff
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-18 21:59:03 +02:00
Connor Findlay
048c3bb240
changelog: Add changes in issue-4004
...
Add changelog entry in the 'unreleased' sub-folder for changes
introduced when fixing issue #4004 .
2024-10-18 21:59:03 +02:00
Connor Findlay
d6e76a22a8
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-18 21:59:03 +02:00
Michael Eischer
e3a022f9b5
add irregular files bug changelog
2024-10-18 21:58:04 +02:00
Michael Eischer
fe269c752a
repair snapshots: remove irregular files
2024-10-18 21:57:52 +02:00
Michael Eischer
fc1fc00aa4
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-18 21:56:41 +02:00
greatroar
3c82fe6ef5
fs: Include filename in mknod errors
2024-10-18 21:53:15 +02:00
Michael Eischer
986d981bf6
tag: fix swallowed error if repository cannot be opened
2024-10-18 21:50:29 +02:00
Michael Eischer
0df2fa8135
fs: retry preallocate on Linux if interrupted by signal
2024-10-18 21:47:59 +02:00
Roman Inflianskas
49ccb7734c
list: validate subcommand
2024-10-18 21:47:59 +02:00
Roman Inflianskas
491cc65e3a
list: add subcommand completion
2024-10-18 21:47:59 +02:00
Damien Clark
8c1d6a50c1
cache: fix race condition in cache cleanup
...
Fix multiple restic processes executing concurrently and racing to remove obsolete snapshots.
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2024-10-18 21:47:59 +02:00
Michael Eischer
9386acc4a6
Fix indentation of blockquotes in github release notes
2024-10-18 21:47:59 +02:00
Git'Fellow
5b60d49654
fix: shorten sentence
2024-10-18 21:47:59 +02:00
Git'Fellow
8056181301
docs: Recommend to setup B2 versions lifecycle rules
2024-10-18 21:46:58 +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
greatroar
8c7a6daa47
dump: Simplify writeNode and use fewer goroutines
...
This changes Dumper.writeNode to spawn loader goroutines as needed
instead of as a pool. The code is shorter, fewer goroutines are spawned
for small files, and crash dumps (also for unrelated errors) should be
smaller.
2024-09-30 17:24:05 +02:00
Roman Inflianskas
3d976562fa
generate: allow passing - for stdout output
...
Since generating completions to stdout for multiple shells does not make
sense, enforce `-` is supplied only once.
2024-09-16 10:54:00 +03:00
Phillipp Röll
1a7fafc7eb
dump: compress zip archives
2024-09-15 21:04:54 +02:00
Michael Eischer
4469fe1575
fs: fix restoring timestamps on Windows for long paths
2024-09-15 18:28:11 +02:00
Phillipp Röll
bad6c54a33
dump: add --compress-zip flag to compress zip archives
2024-09-15 14:25:02 +02:00
Michael Eischer
7680f48258
Changelogs should omit problem if it duplicates the new behavior
...
When adding a new feature, the problem description often just says that
feature Y was missing, followed by saying that feature Y is now
supported.
This duplication just makes the changelog entries unnecessarily verbose.
2024-09-14 20:54:27 +02:00
Michael Eischer
efec1a5e96
Merge pull request #5045 from MichaelEischer/fix-preallocate-eintr
...
Linux: retry preallocate if interrutped by signal
2024-09-14 19:17:51 +02:00
Michael Eischer
bd2c986592
Merge pull request #5051 from rominf/rominf-list-subcommands
...
list: complete and validate subcommand
2024-09-14 16:43:04 +00:00
Michael Eischer
cab6b15603
tag: fix swallowed error if repository cannot be opened
2024-09-14 18:38:48 +02:00
Michael Eischer
4105e4a356
Merge pull request #5047 from damoclark/patch-1
...
cache: fix race condition in cache cleanup or similar.
2024-09-14 16:14:48 +00:00
Michael Eischer
ccf5be235a
add changelog for fuse fix
2024-09-14 18:11:44 +02:00
Michael Eischer
5ce6ca2219
fuse: test that the same fs.Node is used for the same file
2024-09-14 18:11:44 +02:00
Michael Eischer
51173c5003
fuse: forget fs.Node instances on request by the kernel
...
Forget fs.Node instances once the kernel frees the corresponding nodeId.
This ensures that restic does not run out of memory on large snapshots.
2024-09-14 18:11:44 +02:00
Michael Eischer
e9940f39dc
fuse: add missing type assertion for optional interfaces
2024-09-14 18:11:44 +02:00
Michael Eischer
6ec2b62ec5
fuse: cache fs.Node instances
...
A particular node should always be represented by a single instance.
This is necessary to allow the fuse library to assign a stable nodeId to
a node. macOS Sonoma trips over the previous, unstable behavior when
using fuse-t.
2024-09-14 18:11:44 +02:00
Damien Clark
4795143d6d
cache: fix race condition in cache cleanup
...
Fix multiple restic processes executing concurrently and racing to remove obsolete snapshots.
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2024-09-14 18:07:46 +02:00
Roman Inflianskas
a84e65b7f9
list: validate subcommand
2024-09-13 12:23:26 +03:00
Roman Inflianskas
6f08dbb2d7
list: add subcommand completion
2024-09-13 12:22:53 +03:00
Michael Eischer
c1532179d4
Merge pull request #5043 from MichaelEischer/fix-github-release-note-formatting
...
Fix indentation of blockquotes in github release notes
2024-09-07 17:11:22 +02:00
Michael Eischer
34fe73ea42
fs: retry preallocate on Linux if interrupted by signal
2024-09-07 16:39:40 +02:00
Michael Eischer
37d5bd61a0
Merge pull request #5042 from solracsf/patch-1
...
docs: Recommend to setup B2 versions lifecycle rules
2024-09-07 14:36:29 +00:00
Michael Eischer
7b1a15916d
Merge pull request #5039 from konidev20/fix-gh-4806-forget-add-reason-for-oldest-snapshot-retained
...
forget: indicate why the oldest snapshot in a group is kept
2024-09-07 14:31:47 +00:00
Git'Fellow
113439c69b
fix: shorten sentence
2024-09-07 15:27:15 +02:00
Srigovind Nayak
5468e85222
docs: mention that the oldest snapshot is marked oldest in the reasons of the forget comman
2024-09-07 15:07:23 +05:30
Srigovind Nayak
b69c6408a6
forget: make oldest snapshot marker more strict
...
Now, a snapshot is only marked as oldest if it's the last in the list AND its values matches the last seen value for that bucket.
Also, updated the corresponding golden files for the tests.
2024-09-07 15:07:23 +05:30
Srigovind Nayak
d656a50852
forget: update tests to reflect specific reasons for keeping oldest snapshots in a group
2024-09-07 15:07:23 +05:30
Srigovind Nayak
87f30bc787
forget: indicate why the oldest snapshot in a group is kept
...
When the oldest snapshot in the
list is retained, the reason is now prefixed with "oldest" to clearly
indicate why it's being kept.
2024-09-07 15:07:23 +05:30
Michael Eischer
4f0affd4f7
Merge branch 'patch-release'
2024-09-06 22:32:22 +02:00
Michael Eischer
3df8337d63
Fix indentation of blockquotes in github release notes
2024-09-05 22:33:57 +02:00
Alexander Neumann
76a647febf
Set development version for 0.17.1
2024-09-05 21:25:24 +02:00
Alexander Neumann
975aa41e1e
Add version for 0.17.1
2024-09-05 21:25:21 +02:00
Alexander Neumann
a98370cc9e
Update manpages and auto-completion
2024-09-05 21:25:21 +02:00
Alexander Neumann
d8870a2f73
Generate CHANGELOG.md for 0.17.1
2024-09-05 21:25:20 +02:00
Alexander Neumann
17e54b04ab
Prepare changelog for 0.17.1
2024-09-05 21:25:19 +02:00
Git'Fellow
00ca0b371b
docs: Recommend to setup B2 versions lifecycle rules
2024-09-04 13:21:37 +02:00
Michael Eischer
8a0edde407
Merge pull request #5038 from restic/dependabot/go_modules/google.golang.org/api-0.195.0
...
build(deps): bump google.golang.org/api from 0.191.0 to 0.195.0
2024-09-01 22:36:39 +00:00
Michael Eischer
0a225049d8
Merge pull request #5035 from restic/dependabot/go_modules/github.com/minio/minio-go/v7-7.0.76
...
build(deps): bump github.com/minio/minio-go/v7 from 7.0.74 to 7.0.76
2024-09-01 22:14:47 +00:00
Michael Eischer
3023b2f566
Merge pull request #5033 from MichaelEischer/s3-clarify-docs
...
docs: make s3-compatible section standalone
2024-09-02 00:14:31 +02:00
dependabot[bot]
a6490feab2
build(deps): bump github.com/minio/minio-go/v7 from 7.0.74 to 7.0.76
...
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go ) from 7.0.74 to 7.0.76.
- [Release notes](https://github.com/minio/minio-go/releases )
- [Commits](https://github.com/minio/minio-go/compare/v7.0.74...v7.0.76 )
---
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-09-01 22:00:55 +00:00
Michael Eischer
daa6448a77
Merge pull request #5034 from restic/dependabot/go_modules/golang.org/x/sys-0.24.0
...
build(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0
2024-09-01 21:52:56 +00:00
Michael Eischer
07a8b73f25
Merge pull request #5037 from restic/dependabot/go_modules/github.com/ncw/swift/v2-2.0.3
...
build(deps): bump github.com/ncw/swift/v2 from 2.0.2 to 2.0.3
2024-09-01 21:52:41 +00:00
Michael Eischer
9a6059eb71
Merge pull request #5032 from dropbigfish/master
...
chore: fix some function name comments
2024-09-01 21:52:26 +00:00
Michael Eischer
05a8b05773
Merge pull request #5030 from restic/changelogs
...
doc: Polish unreleased changelogs
2024-09-01 23:45:10 +02:00
dependabot[bot]
790dbd442b
build(deps): bump google.golang.org/api from 0.191.0 to 0.195.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.191.0 to 0.195.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.191.0...v0.195.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-09-01 01:33:45 +00:00
dependabot[bot]
daf156a76a
build(deps): bump github.com/ncw/swift/v2 from 2.0.2 to 2.0.3
...
Bumps [github.com/ncw/swift/v2](https://github.com/ncw/swift ) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/ncw/swift/releases )
- [Changelog](https://github.com/ncw/swift/blob/master/RELEASE.md )
- [Commits](https://github.com/ncw/swift/compare/v2.0.2...v2.0.3 )
---
updated-dependencies:
- dependency-name: github.com/ncw/swift/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-09-01 01:33:35 +00:00
dependabot[bot]
154ca4d9e8
build(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/sys/compare/v0.23.0...v0.24.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-09-01 01:33:18 +00:00
Michael Eischer
ebd8f0c74a
docs: make s3-compatible section standalone
2024-08-31 19:39:30 +02:00
Leo R. Lundgren
5d658f216c
doc: Polish unreleased changelogs
2024-08-31 19:10:36 +02:00
dropbigfish
6f9513d88c
chore: fix some function names
...
Signed-off-by: dropbigfish <fillfish@foxmail.com >
2024-09-01 00:54:39 +08:00
Michael Eischer
d8be8f1e06
Merge pull request #5024 from MichaelEischer/move-node-to-fs
...
Cleanup FS package
2024-08-31 18:47:11 +02:00
Michael Eischer
b91ef3f1ff
fs: remove dead code
2024-08-31 18:40:36 +02:00
Michael Eischer
e2bce1b9ee
fs: move WindowsAttributes definition back to restic package
2024-08-31 18:40:36 +02:00
Michael Eischer
ebdd946ac1
fs: unexport nodeRestoreTimestamps
2024-08-31 18:40:36 +02:00
Michael Eischer
2aa1e2615b
fs: fix comments
2024-08-31 18:40:36 +02:00
Michael Eischer
6c16733dfd
fs: remove unused methods from File interface
2024-08-31 18:40:36 +02:00
Michael Eischer
f0329bb4e6
fs: replace statT with ExtendedFileInfo
2024-08-31 18:40:36 +02:00
Michael Eischer
6d3a5260d3
fs: unexport a several windows functions
2024-08-31 18:40:36 +02:00
Michael Eischer
cf051e777a
fs: remove Readdir method from File interface
2024-08-31 18:20:41 +02:00
Michael Eischer
cc7f99125a
minimize usage of internal/fs in tests
2024-08-31 18:20:41 +02:00
Michael Eischer
65a7157383
mount: use os instead of fs package
2024-08-31 18:20:41 +02:00
Michael Eischer
24f4e780f1
backend: consistently use os package for filesystem access
...
The go std library should be good enough to manage the files in the
backend and cache folders.
2024-08-31 18:20:40 +02:00
Michael Eischer
ca1e5e10b6
add proper constants for node type
2024-08-31 18:20:01 +02:00
Michael Eischer
3b438e5c7c
Merge pull request #5023 from MichaelEischer/cleanup-archiver
...
archiver: use FS interface nearly everywhere and cleanup exports
2024-08-31 18:14:47 +02:00
Michael Eischer
7bb92dc7bd
archiver: use ExtendedStat from FS interface
...
With this change, NodeFromFileInfo is the last function that bypasses
the FS interface in the archiver.
2024-08-31 18:05:09 +02:00
Michael Eischer
e79dca644e
fs: unexport DeviceID
2024-08-31 18:04:53 +02:00
Michael Eischer
70fbad6623
archiver: minimize imports
2024-08-31 18:04:37 +02:00
Michael Eischer
6fd5d5f2d5
archiver: move helper functions to combine rejects
2024-08-31 18:04:22 +02:00
Michael Eischer
f1585af0f2
move include/exclude options to filter package
2024-08-31 18:04:07 +02:00
Michael Eischer
5d58945718
cleanup include / exclude option setup
2024-08-31 18:03:53 +02:00
Michael Eischer
41c031a19e
backup: move RejectFuncs to archiver package
2024-08-31 18:03:35 +02:00
Michael Eischer
f9dbcd2531
backup: convert reject funcs to use FS interface
...
Depending on parameters the paths in a snapshot do not directly
correspond to real paths on the filesystem. Therefore, reject funcs must
use the FS interface to work correctly.
2024-08-31 18:03:02 +02:00
Michael Eischer
c6fae0320e
archiver: hide implementation details
2024-08-31 17:52:45 +02:00
Michael Eischer
e5cdae9c84
Merge pull request #5022 from MichaelEischer/extract-fs-code
...
Extract filesystem code from restic.Node
2024-08-31 17:52:11 +02:00
Michael Eischer
507842b614
fs: remove Open method from FS interface
2024-08-31 17:37:25 +02:00
Michael Eischer
263709da8c
fs: unexport isListxattrPermissionError
2024-08-31 17:37:25 +02:00
Michael Eischer
80ed863aab
repository: remove redundant cleanup code
...
The temp files used by the packer manager are either delete after
creation (unix) or marked as delete on close (windows). Thus, no
explicit cleanup is necessary.
2024-08-31 17:37:25 +02:00
Michael Eischer
0ddb4441d7
fs: clean up helper functions
2024-08-31 17:37:25 +02:00
Michael Eischer
fc549c9462
cleanup imports
2024-08-31 17:37:25 +02:00
Michael Eischer
b9b32e5647
restic: extract Node filesystem code to fs package
2024-08-31 17:37:25 +02:00
Michael Eischer
a2e54eac64
restic: simplify nodeCreateFileAt
...
The code to write the file content is never used.
2024-08-31 17:37:25 +02:00
Michael Eischer
5644079707
restic: prepare extraction of fs code from Node
2024-08-31 17:37:25 +02:00
Michael Eischer
3e0c081bed
Merge pull request #5020 from MichaelEischer/remove-legacy-formats
...
Remove support for legacy index format and s3 layout
2024-08-31 17:37:09 +02:00
Michael Eischer
97f696b937
backend: remove dead code
2024-08-31 17:25:24 +02:00
Michael Eischer
af989aab4e
backend/layout: unexport fields and simplify rest layout
2024-08-31 17:25:24 +02:00
Michael Eischer
6024597028
drop support for s3legacy layout
2024-08-31 17:25:24 +02:00
Michael Eischer
943b6ccfba
index: remove support for legacy index format
2024-08-31 17:12:43 +02:00
Michael Eischer
7b0b9539b1
Merge pull request #5029 from MichaelEischer/cleanup-changelogs
...
cleanup changelogs
2024-08-31 17:04:31 +02:00
Michael Eischer
259caf942d
cleanup changelogs
2024-08-31 16:55:38 +02:00
Michael Eischer
ba71141f0a
backup: support specifying volume instead of path on Windows
...
"C:" (volume name) versus "C:\" (path)
2024-08-31 16:50:06 +02:00
Michael Eischer
174f20dc4a
use OrderedListOnceBackend where possible
2024-08-31 16:50:06 +02:00
Michael Eischer
361fbbf58f
Add temporary files repositories in integration tests
...
This is intended to catch problems with temporary files stored in the
backend, even if the responsible component forgets to test for those.
2024-08-31 16:50:06 +02:00
Michael Eischer
1f4c9d2806
cache: correctly ignore files whose filename is no ID
...
this can for example be the case for temporary files created by the
backend implementation.
2024-08-31 16:50:06 +02:00
Michael Eischer
a5533344f9
Merge pull request #5028 from MichaelEischer/windows-allow-specifying-volumes
...
backup: support specifying volume instead of path on Windows
2024-08-31 16:43:20 +02:00
Michael Eischer
ddf35a60ad
Merge pull request #5026 from MichaelEischer/fix-handling-invalid-filenames
...
cache: Fix handling of invalid filenames
2024-08-31 16:42:13 +02:00
Michael Eischer
a12a6edfd1
add changelog for security descriptor race condition
2024-08-30 12:46:07 +02:00
Michael Eischer
ac5bc7c2f9
fs: fix error handling for retried get/set of security descriptor
...
The retry code path did not filter `ERROR_NOT_SUPPORTED`. Just call the
original function a second time to correctly follow the low privilege
code path.
2024-08-30 12:46:07 +02:00
Michael Eischer
3e4c1ea196
fs: fix race condition in get/set security descriptor
...
Calling `Load()` twice for an atomic variable can return different
values each time. This resulted in trying to read the security
descriptor with high privileges, but then not entering the code path to
switch to low privileges when another thread has already done so
concurrently.
2024-08-30 12:46:07 +02:00
Michael Eischer
8828c76f92
rest: improve handling of HTTP2 goaway
...
The HTTP client can only retry HTTP2 requests after receiving a GOAWAY
response if it can rewind the body. As we use a custom data type,
explicitly provide an implementation of `GetBody`.
2024-08-30 12:46:07 +02:00
Michael Eischer
55ff4e046e
doc: full tree blob data structure is in the code
2024-08-30 12:46:07 +02:00
Michael Eischer
7ea558db99
doc: JSON encoder must be deterministic
2024-08-30 12:46:07 +02:00
Michael Eischer
71e8068d86
doc: mark S3 layout as deprecated
2024-08-30 12:46:07 +02:00
Michael Eischer
a45d21e2b9
doc: describe how to handle rewrite encoding error
2024-08-30 12:46:07 +02:00
Michael Eischer
97eb81564a
doc: fix typos
2024-08-30 12:45:20 +02:00
Michael Eischer
262e85c37f
doc: shrink wasabi / alibaba cloud example
...
Remove descriptions for both providers and shorten the example to the
minimum.
2024-08-30 12:45:20 +02:00
Michael Eischer
f451001f75
doc: use regional urls for Amazon S3 and add generic s3 provider section
...
Split description for non-Amazon S3 providers into separate section. The
section now also includes the `s3.bucket-lookup` extended option. Switch
to using regional URLs for Amazon S3 to replace the need for setting the
region.
2024-08-30 12:45:20 +02:00
Michael Eischer
5980daea64
doc/backup: move exit status codes section up
2024-08-30 12:45:20 +02:00
Michael Eischer
6b4f16f77b
doc/backup: link to exit code for scripting section
2024-08-30 12:45:20 +02:00
Michael Eischer
64d628bd75
make timeout for slow requests configurable
2024-08-30 12:45:20 +02:00
Michael Eischer
6eece31dc3
lock: introduce short delay between failed locking retries
...
Failed locking attempts were immediately retried up to three times
without any delay between the retries. If a lock file is not found while
checking for other locks, with the reworked backend retries there is no
delay between those retries. This is a problem if a backend requires a
few seconds to reflect file deletions in the file listings. To work
around this problem, introduce a short exponentially increasing delay
between the retries. The number of retries is now increased to 4. This
results in delays of 5, 10 and 20 seconds between the retries.
2024-08-30 12:45:20 +02:00
Michael Eischer
8206cd19c8
backend/retry: don't trip circuit breaker if context is canceled
...
When the context used for a load operation is canceled, then the result
is always an error independent of whether the file could be retrieved
from the backend. Do not false positively trip the circuit breaker in
this case.
The old behavior was problematic when trying to lock a repository. When
`Lock.checkForOtherLocks` listed multiple lock files in parallel and one
of them fails to load, then all other loads were canceled. This
cancelation was remembered by the circuit breaker, such that locking
retries would fail.
2024-08-30 12:45:20 +02:00
Michael Eischer
a99b824508
update docs
2024-08-30 12:45:20 +02:00
Michael Eischer
424740f62c
Add missing DisableAutoGenTag flag for commands
2024-08-30 12:45:20 +02:00
Michael Eischer
e5a08e6808
group commands and make features/options visible
2024-08-30 12:45:20 +02:00
Michael Eischer
cb16add8c8
restic: cleanup redundant code in test case
2024-08-30 12:45:20 +02:00
Michael Eischer
bc1aecfb15
restore: test timestamps for macOS resource forks are restored correctly
2024-08-30 12:45:20 +02:00
Michael Eischer
61aaddac28
restic: restore timestamps after extended attributes
...
restoring the xattr containing resource forks on macOS apparently
modifies the file modification timestamps. Thus, restore the timestamp
after xattrs.
2024-08-30 12:45:20 +02:00
Michael Eischer
a5f2d0cf56
Improve description for no password on secondary repo
2024-08-30 12:45:20 +02:00
Michael Eischer
00f63d72fa
Mention RESTIC_HOST environment variable in docs
2024-08-30 12:45:20 +02:00
Andreas Deininger
12089054d8
GitHub test actions: fix warnings 'Restore cache failed'
2024-08-30 12:45:20 +02:00
Srigovind Nayak
f6e8d92590
changelog: update changelog
2024-08-30 12:44:54 +02:00
Srigovind Nayak
a8032c932c
cache: remove redundant index file cleanup
...
addressing code review comments
2024-08-30 12:43:13 +02:00
Srigovind Nayak
8a7ae17d4d
Revert "repository: removed redundant prepareCache method from Repository"
...
This reverts commit 720609f8ba .
2024-08-30 12:43:13 +02:00
Srigovind Nayak
0ca9355bc0
cache: add test for the automated cache clear to cache backend
2024-08-30 12:43:13 +02:00
Srigovind Nayak
b10d7ccdda
changelog: add unrelease changelog
2024-08-30 12:43:13 +02:00
Srigovind Nayak
1e68fbca90
repository: removed redundant prepareCache method from Repository
...
* remove the prepareCache method from the Repository
* changed the signature of the SetIndex function to no longer return an error
2024-08-30 12:43:13 +02:00
Srigovind Nayak
0cf1737289
cache: check for context cancellation before clearing cache
2024-08-30 12:43:13 +02:00
Srigovind Nayak
fac1d9fea1
cache: backend add List method and a cache clear functionality
...
* removes files which are no longer in the repository, including index files, snapshot files and pack files from the cache.
cache: fix ids set initialisation with NewIDSet()
2024-08-30 12:43:13 +02:00
Michael Terry
48e3832322
main: return an exit code (12) for "bad password" errors
2024-08-30 12:39:22 +02:00
Michael Eischer
61e1f4a916
backend: return correct error on upload/request timeout
2024-08-30 12:37:10 +02:00
aneesh-n
7642e05eed
Add test cases and handle volume GUID paths
...
Gracefully handle errors while checking for EA and add debug logs.
2024-08-30 12:37:10 +02:00
aneesh-n
51fad2eecb
Gracefully handle invalid prepared volume names
2024-08-30 12:37:10 +02:00
aneesh-n
111490b8be
Add changelog
2024-08-30 12:37:10 +02:00
aneesh-n
8861421cd6
Fix extended attributes handling for VSS snapshots
2024-08-30 12:37:10 +02:00
Andreas Deininger
c83b529c47
Fix typos
2024-08-30 12:37:10 +02:00
Shivashis Padhi
d15e693045
restore: Add progress bar to 'restore --verify'
2024-08-30 12:37:10 +02:00
Michael Eischer
4fcedb4bae
backup: support specifying volume instead of path on Windows
...
"C:" (volume name) versus "C:\" (path)
2024-08-30 11:35:43 +02:00
Michael Eischer
a0f2dfbc19
Merge pull request #5019 from MichaelEischer/fix-windows-sd-race
...
backup: Fix spurious "A Required Privilege Is Not Held by the Client" error
2024-08-29 16:59:06 +02:00
Michael Eischer
0aadfe32bb
Merge pull request #5018 from MichaelEischer/rest-retry-http2-goaway
...
rest: improve handling of HTTP2 goaway
2024-08-29 16:58:04 +02:00
Michael Eischer
dab3e549af
Merge pull request #5017 from MichaelEischer/rewrite-data-loss
...
rewrite: Document handling of "cannot encode tree" errors
2024-08-29 16:57:13 +02:00
Michael Eischer
5c238ea359
Merge pull request #5016 from MichaelEischer/s3-doc-rework
...
Rework documentation for s3-compatible storages
2024-08-29 16:55:40 +02:00
Michael Eischer
2c85d2468a
Merge pull request #5015 from MichaelEischer/update-exit-code-docs
...
Update exit code docs
2024-08-29 16:53:14 +02:00
Michael Eischer
7bbf75237d
Merge pull request #5014 from MichaelEischer/configurable-slow-request-timeout
...
Make timeout for slow requests configurable
2024-08-29 16:52:24 +02:00
Michael Eischer
dd90e1926b
use OrderedListOnceBackend where possible
2024-08-29 16:35:48 +02:00
Michael Eischer
d19f706d50
Add temporary files repositories in integration tests
...
This is intended to catch problems with temporary files stored in the
backend, even if the responsible component forgets to test for those.
2024-08-29 16:33:18 +02:00
Michael Eischer
8eff4e0e5c
cache: correctly ignore files whose filename is no ID
...
this can for example be the case for temporary files created by the
backend implementation.
2024-08-29 16:32:15 +02:00
Michael Eischer
45d05eb691
add changelog for security descriptor race condition
2024-08-26 19:43:18 +02:00
Michael Eischer
9c70794886
fs: fix error handling for retried get/set of security descriptor
...
The retry code path did not filter `ERROR_NOT_SUPPORTED`. Just call the
original function a second time to correctly follow the low privilege
code path.
2024-08-26 19:36:43 +02:00
Michael Eischer
6fbfccc2d3
fs: fix race condition in get/set security descriptor
...
Calling `Load()` twice for an atomic variable can return different
values each time. This resulted in trying to read the security
descriptor with high privileges, but then not entering the code path to
switch to low privileges when another thread has already done so
concurrently.
2024-08-26 19:31:21 +02:00
Michael Eischer
1931beab8e
Merge pull request #5012 from MichaelEischer/fix-lock-retries
...
lock: introduce short delay between failed locking retries
2024-08-26 18:10:30 +02:00
Michael Eischer
2296fdf668
lock: introduce short delay between failed locking retries
...
Failed locking attempts were immediately retried up to three times
without any delay between the retries. If a lock file is not found while
checking for other locks, with the reworked backend retries there is no
delay between those retries. This is a problem if a backend requires a
few seconds to reflect file deletions in the file listings. To work
around this problem, introduce a short exponentially increasing delay
between the retries. The number of retries is now increased to 4. This
results in delays of 5, 10 and 20 seconds between the retries.
2024-08-26 16:31:42 +02:00
Michael Eischer
89d216ca76
Merge pull request #5011 from MichaelEischer/fix-canceled-retry
...
backend/retry: don't trip circuit breaker if context is canceled
2024-08-26 16:30:03 +02:00
Michael Eischer
5cffd40002
Merge pull request #5013 from MichaelEischer/group-cli-commands
...
Group CLI commands and show features/options
2024-08-26 16:23:39 +02:00
Michael Eischer
e24dd5a162
backend/retry: don't trip circuit breaker if context is canceled
...
When the context used for a load operation is canceled, then the result
is always an error independent of whether the file could be retrieved
from the backend. Do not false positively trip the circuit breaker in
this case.
The old behavior was problematic when trying to lock a repository. When
`Lock.checkForOtherLocks` listed multiple lock files in parallel and one
of them fails to load, then all other loads were canceled. This
cancelation was remembered by the circuit breaker, such that locking
retries would fail.
2024-08-26 16:22:21 +02:00
Michael Eischer
2063bf5de4
Merge pull request #5006 from MichaelEischer/restore-time-last
...
restic: restore timestamps after extended attributes
2024-08-26 16:21:02 +02:00
Michael Eischer
36c4475ad9
rest: improve handling of HTTP2 goaway
...
The HTTP client can only retry HTTP2 requests after receiving a GOAWAY
response if it can rewind the body. As we use a custom data type,
explicitly provide an implementation of `GetBody`.
2024-08-26 15:44:17 +02:00
Michael Eischer
dc5d3fc473
doc: full tree blob data structure is in the code
2024-08-26 14:41:09 +02:00
Michael Eischer
05077eaa20
doc: JSON encoder must be deterministic
2024-08-26 14:41:09 +02:00
Michael Eischer
908d097904
doc: mark S3 layout as deprecated
2024-08-26 14:41:09 +02:00
Michael Eischer
828c8bc1e8
doc: describe how to handle rewrite encoding error
2024-08-26 14:41:09 +02:00
Michael Eischer
b8f409723d
make timeout for slow requests configurable
2024-08-26 14:14:43 +02:00
Michael Eischer
8a8f5f3986
doc: fix typos
2024-08-26 12:24:02 +02:00
Michael Eischer
7de53a51b8
doc: shrink wasabi / alibaba cloud example
...
Remove descriptions for both providers and shorten the example to the
minimum.
2024-08-26 12:21:13 +02:00
Michael Eischer
9649a9c62b
doc: use regional urls for Amazon S3 and add generic s3 provider section
...
Split description for non-Amazon S3 providers into separate section. The
section now also includes the `s3.bucket-lookup` extended option. Switch
to using regional URLs for Amazon S3 to replace the need for setting the
region.
2024-08-26 12:17:43 +02:00
Michael Eischer
354c2c38cc
doc/backup: move exit status codes section up
2024-08-25 23:53:12 +02:00
Michael Eischer
ff9ef08f65
doc/backup: link to exit code for scripting section
2024-08-25 23:52:33 +02:00
Michael Eischer
311b27ced8
restic: cleanup redundant code in test case
2024-08-25 23:18:55 +02:00
Michael Eischer
43b36ad2b0
restore: test timestamps for macOS resource forks are restored correctly
2024-08-25 23:18:55 +02:00
Michael Eischer
2e55209b34
restic: restore timestamps after extended attributes
...
restoring the xattr containing resource forks on macOS apparently
modifies the file modification timestamps. Thus, restore the timestamp
after xattrs.
2024-08-25 23:18:55 +02:00
Michael Eischer
e7db5febcf
update docs
2024-08-23 23:52:21 +02:00
Michael Eischer
7739aa685c
Add missing DisableAutoGenTag flag for commands
2024-08-23 23:49:20 +02:00
Michael Eischer
5988d825b7
group commands and make features/options visible
2024-08-23 23:48:45 +02:00
Michael Eischer
a8efaee03c
Merge pull request #5010 from MichaelEischer/cleanup-cli-help
...
Improve description for --from-insecure-no-password option
2024-08-23 23:41:08 +02:00
Michael Eischer
8672cef972
Merge pull request #5009 from restic/document-restic-host
...
Mention RESTIC_HOST environment variable in docs
2024-08-23 23:40:48 +02:00
Michael Eischer
551dfee707
Improve description for no password on secondary repo
2024-08-18 19:45:54 +02:00
Michael Eischer
1b8ca32e7d
Mention RESTIC_HOST environment variable in docs
2024-08-18 19:41:58 +02:00
Michael Eischer
489af2a670
Merge pull request #5008 from mikix/doc-typo
...
docs: correct wrong exit_error message field name
2024-08-18 17:38:31 +00:00
Michael Terry
97df01b9b8
docs: correct wrong exit_error message field name
2024-08-17 15:00:39 -04:00
Michael Eischer
68f7abcff1
Merge pull request #5007 from deining/fix-warnings
...
GitHub test actions: fix warnings 'Restore cache failed'
2024-08-17 14:31:41 +00:00
Andreas Deininger
ceb45d9816
GitHub test actions: fix warnings 'Restore cache failed'
2024-08-17 12:39:41 +02:00
Michael Eischer
5cca6e66be
Merge pull request #4981 from konidev20/fix-gh-4934-cleanup-removed-snaphots-from-cache
...
cache: clear snapshot files from cache during load index
2024-08-16 19:04:59 +00:00
Srigovind Nayak
c9097994b9
changelog: update changelog
2024-08-17 00:24:19 +05:30
Michael Eischer
c636ad51a8
Merge pull request #4959 from mikix/fatal-wrap
...
main: return an exit code (12) for "bad password" errors
2024-08-16 18:52:36 +00:00
Srigovind Nayak
88174cd0a4
cache: remove redundant index file cleanup
...
addressing code review comments
2024-08-17 00:21:49 +05:30
Srigovind Nayak
b7d014b685
Revert "repository: removed redundant prepareCache method from Repository"
...
This reverts commit 720609f8ba .
2024-08-17 00:18:13 +05:30
Michael Terry
56f28c9bd5
main: return an exit code (12) for "bad password" errors
2024-08-15 16:55:45 -04:00
Michael Eischer
7462471c6b
Merge pull request #4952 from mikix/json-exit
...
Format exit errors as JSON if requested
2024-08-15 20:19:38 +00:00
Michael Eischer
74d3f92cc7
Merge pull request #4993 from MichaelEischer/fix-timeout-error
...
backend: return correct error on upload/request timeout
2024-08-15 22:07:37 +02:00
Michael Eischer
80f24584a5
Merge pull request #4998 from zmanda/ea_vss_fix
...
Fix extended attributes handling for VSS snapshots
2024-08-15 19:51:35 +00:00
Michael Eischer
8e00158c34
Merge pull request #5000 from deining/fix-typo
...
Fix typos
2024-08-15 19:42:14 +00:00
Michael Eischer
36b5580c1c
Merge pull request #4989 from plant99/progress-bar-for-restore-verify
...
restore: Add progress bar to 'restore --verify'
2024-08-15 19:34:05 +00:00
aneesh-n
19f487750e
Add test cases and handle volume GUID paths
...
Gracefully handle errors while checking for EA and add debug logs.
2024-08-11 19:25:58 -06:00
Shivashis Padhi
f1407afd1f
restore: Add progress bar to 'restore --verify'
2024-08-11 22:25:21 +02:00
Andreas Deininger
4401265e36
Fix typos
2024-08-11 21:38:15 +02:00
Srigovind Nayak
5fd984ba6f
cache: add test for the automated cache clear to cache backend
2024-08-11 23:41:07 +05:30
Srigovind Nayak
506e07127f
changelog: add unrelease changelog
2024-08-11 23:41:07 +05:30
Srigovind Nayak
720609f8ba
repository: removed redundant prepareCache method from Repository
...
* remove the prepareCache method from the Repository
* changed the signature of the SetIndex function to no longer return an error
2024-08-11 23:41:07 +05:30
Srigovind Nayak
a23e7bfb82
cache: check for context cancellation before clearing cache
2024-08-11 23:41:07 +05:30
Srigovind Nayak
f66624f5bf
cache: backend add List method and a cache clear functionality
...
* removes files which are no longer in the repository, including index files, snapshot files and pack files from the cache.
cache: fix ids set initialisation with NewIDSet()
2024-08-11 23:40:52 +05:30
Michael Terry
d3f9c05312
docs: update scripting documentation
2024-08-11 12:52:54 -04:00
Michael Terry
6283915f86
main: format exit errors as JSON when using --json
2024-08-11 12:52:50 -04:00
Michael Terry
2d250a9135
version: add message_type in --json mode
2024-08-11 12:51:15 -04:00
Michael Eischer
33c670dd7a
Merge pull request #4996 from restic/dependabot/go_modules/google.golang.org/api-0.191.0
...
build(deps): bump google.golang.org/api from 0.189.0 to 0.191.0
2024-08-11 09:25:19 +00:00
aneesh-n
849c441455
Gracefully handle invalid prepared volume names
2024-08-11 01:48:25 -06:00
aneesh-n
b5b5c1fe8e
Add changelog
2024-08-11 01:32:55 -06:00
aneesh-n
1d392a36f9
Fix extended attributes handling for VSS snapshots
2024-08-11 01:23:47 -06:00
dependabot[bot]
049186371f
build(deps): bump google.golang.org/api from 0.189.0 to 0.191.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.189.0 to 0.191.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.189.0...v0.191.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-08-10 18:17:20 +00:00
Michael Eischer
910f64ce47
Merge pull request #4997 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azcore-1.14.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.13.0 to 1.14.0
2024-08-10 18:11:28 +00:00
Michael Eischer
b3b71e78cd
Merge pull request #4995 from restic/dependabot/go_modules/golang.org/x/crypto-0.26.0
...
build(deps): bump golang.org/x/crypto from 0.25.0 to 0.26.0
2024-08-10 18:08:20 +00:00
dependabot[bot]
f2e2e5f5ab
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go ) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.13.0...sdk/azcore/v1.14.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-10 17:58:58 +00:00
dependabot[bot]
ecd03b4fc6
build(deps): bump golang.org/x/crypto from 0.25.0 to 0.26.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/crypto/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-10 17:58:50 +00:00
Michael Eischer
3f5e2160de
Merge pull request #4938 from MichaelEischer/bump-go-version
...
Bump go version to 1.21
2024-08-10 19:57:59 +02:00
Michael Eischer
283225f15f
Merge pull request #4994 from MichaelEischer/less-flaky-watchdog-test
...
backend: tweak timeouts to make watchdog timeout test less flaky
2024-08-10 19:35:38 +02:00
Michael Eischer
400ae55940
replace deprecated usages of math/rand
2024-08-10 19:34:49 +02:00
Michael Eischer
84c79f1456
bump required go version to 1.21
2024-08-10 19:16:10 +02:00
Michael Eischer
0b19f6cf5a
Switch back to sha256 from the std library
...
The std library now also supports the sha assembly instructions on
ARM64. Thus, sha256-simd no longer provides a performance benefit.
2024-08-10 19:16:10 +02:00
Michael Eischer
fbecc9db66
upgrade all direct dependencies
2024-08-10 19:16:10 +02:00
Michael Eischer
ad48751adb
bump required go version to 1.21
2024-08-10 19:16:10 +02:00
Michael Eischer
86390b453d
Merge pull request #4980 from zmanda/unsupported-ea-handling
...
Skip ExtendedAttribute processing in Windows for volumes that do not support EA
2024-08-10 17:11:12 +00:00
Michael Eischer
fa35e72214
backend: tweak timeouts to make watchdog timeout test less flaky
2024-08-10 19:08:03 +02:00
Michael Eischer
05571286b2
Merge pull request #4946 from mikix/json-errors
...
Improve error handling in --json mode
2024-08-10 17:04:56 +00:00
Michael Eischer
4ee3c9c8b9
Merge pull request #4951 from MichaelEischer/better-completions-poc
...
Improve CLI completions POC
2024-08-10 18:40:57 +02:00
aneesh-n
18e9d71d7a
Fix review comments
2024-08-10 10:38:04 -06:00
Michael Eischer
853a686994
backend: return correct error on upload/request timeout
2024-08-10 18:06:24 +02:00
Michael Eischer
a164789321
Merge pull request #4977 from MichaelEischer/warn-on-incomplete-metadata
...
backup: warn but store store item if extended metadata is incomplete
2024-08-10 17:59:25 +02:00
Michael Eischer
09fd599057
Merge pull request #4973 from MichaelEischer/err-on-unknown-migration
...
migrate: show warning if migration is unknown
2024-08-10 15:43:58 +02:00
Michael Eischer
fb815abca5
Merge pull request #4979 from MichaelEischer/debug-log-flaky-mount-test
...
mount: enable debug log for TestMountSameTimestamps
2024-08-10 15:43:31 +02:00
aneesh-n
71632a8197
Handle extended length paths
2024-08-05 16:03:43 -06:00
aneesh-n
85639f5159
Add handling for relative paths, vss paths, UNC paths
2024-08-04 13:19:13 -06:00
aneesh-n
c13725b5d0
Check EA support only for volumes, files and dirs
2024-08-04 11:05:40 -06:00
aneesh-n
89712f6640
Formatted
2024-08-04 10:36:13 -06:00
aneesh-n
9dedba6dfc
Address review comments
2024-08-04 10:23:39 -06:00
aneesh-n
8c8a066c0e
Correct the bitmask for fileSupportsExtendedAttributes and add link
2024-08-03 18:06:47 -06:00
aneesh-n
041c0705e4
Add changelog
2024-08-03 16:19:59 -06:00
aneesh-n
56113a8da7
Skip EA processing for volumes that do not support EA
2024-08-03 16:03:30 -06:00
Michael Eischer
73c9780321
backup: store but warn if extended metadata for item is incomplete
...
Files were not included in the backup if the extended metadata for the
file could not be read. This is rather drastic. Instead settle on
returning a warning but still including the file in the backup.
2024-08-03 22:25:29 +02:00
Michael Terry
88f59fc2d6
json: switch backup and restore errors from string to struct types
...
This keeps backwards compatibility with the previous empty structs.
And maybe we'd want to put other fields into the inner struct later,
rather than the outer message.
2024-08-03 16:21:44 -04:00
Michael Eischer
03be64a094
mount: enable debug log for TestMountSameTimestamps
...
The test has started to become flaky.
2024-08-03 22:17:07 +02:00
Michael Eischer
a48baf6f3a
Merge pull request #4976 from textaligncenter/backup-panic
...
fix panic in fs_reader
2024-08-03 19:56:15 +00:00
Michael Terry
a376323331
restore: print JSON versions of errors in --json mode
...
Previously, they were printed as freeform text.
This also adds a ui.Terminal interface to make writing
tests easier and also adds a few tests.
2024-08-03 15:18:46 -04:00
Michael Eischer
e622135e7e
Merge pull request #4974 from MichaelEischer/fix-cache-debug-log
...
cache: fix confusing debug log
2024-08-03 21:12:32 +02:00
textaligncenter
d8ea178e69
fix panic in fs_reader
2024-08-03 19:08:04 +00:00
Michael Terry
ad2585af67
backup: show actual error strings in --json mode
...
Previously, an error JSON fragment would look like:
{"message_type": "error", "error": {}}
This is because encoding/json cannot marshal an error interface.
Instead, we now call .Error() to get the string value.
2024-08-03 15:07:52 -04:00
Michael Terry
f4bdfea1c9
backup: print scanner errors to stderr, not stdout
2024-08-03 15:07:52 -04:00
Michael Eischer
d2f7c5a9c6
Merge pull request #4978 from konidev20/fix-gh-4949-repair-index-spurious-index
...
rewrite: skip saving empty indexes during MasterIndex.Rewrite
2024-08-03 18:53:57 +00:00
Srigovind Nayak
068d5b95c3
rewrite: skip saving empty indexes during MasterIndex.Rewrite
2024-08-03 23:34:59 +05:30
Michael Eischer
d4db5a364e
Merge pull request #4958 from mikix/restore-errors
...
restore: clean up error handling when restoring metadata
2024-08-03 17:58:54 +00:00
Michael Eischer
f3af264674
Merge pull request #4967 from restic/dependabot/github_actions/docker/login-action-3.3.0
...
build(deps): bump docker/login-action from 3.2.0 to 3.3.0
2024-08-03 17:58:52 +00:00
Michael Eischer
4266dca1b6
cache: fix confusing debug log
2024-08-03 18:51:38 +02:00
Michael Eischer
d407abb50f
Merge pull request #4960 from MichaelEischer/reduce-cancelation-delays
...
Add more checks for canceled contexts
2024-08-03 18:23:20 +02:00
Michael Eischer
3faeddcd5f
Merge pull request #4954 from MichaelEischer/improve-windows-path-handling
...
Improve windows path handling
2024-08-03 18:22:39 +02:00
Michael Eischer
1c775feecc
add changelog for cancelation delay
2024-08-03 18:13:24 +02:00
Michael Eischer
b3bfb5ed44
add changelog for long paths on windows
2024-08-03 18:09:28 +02:00
Michael Eischer
db77919550
migrate: show warning if migration is unknown
2024-08-03 17:22:56 +02:00
dependabot[bot]
7b423a0915
build(deps): bump docker/login-action from 3.2.0 to 3.3.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](0d4c9c5ea7...9780b0c442 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-01 01:11:48 +00:00
Michael Eischer
a639454f28
diff: improve cancelation handling
2024-07-31 19:45:33 +02:00
Michael Eischer
ae1cb889dd
Add more checks for canceled contexts
2024-07-31 19:30:47 +02:00
Michael Terry
6a97833337
restore: clean up error handling when restoring metadata
...
- Fix a logic error that instead of reporting the *first*
metadata-setting error that appears, we were instead reporting the
*last* error (and only if the lchown call failed!).
- Don't show any errors when setting metadata for files in non-root
mode (things like timestamps, attributes). Previously, only lchown
errors were skipped. But other kinds of attribute errors make sense
to skip as well. The code path happened to work correctly before
because of the above logic error. But once that was fixed, this
change needed to happen too.
2024-07-30 19:27:34 -04:00
rawtaz
8d5e188218
Merge pull request #4956 from northben/patch-2
...
Update faq.rst
2024-07-30 15:27:24 +00:00
Ben Northway
98c73eeca9
Update faq.rst
...
the correct output of `echo "~/documents"` is `~/documents`
2024-07-30 09:11:18 -06:00
Michael Eischer
a9be986782
restorer: add minimal long path handling test
2024-07-29 21:11:47 +02:00
Michael Eischer
62c4a5e9a0
fs: fix long path handling for ResetPermissions, ClearAttributes and security descriptors
2024-07-29 20:10:58 +02:00
Michael Eischer
7448a15f72
stats: add --mode completions
2024-07-28 12:21:42 +02:00
Michael Eischer
bb50d86e68
cat: add subcommand completion
2024-07-28 12:21:30 +02:00
Michael Eischer
76d56e24d6
Merge pull request #4939 from MichaelEischer/fix-stdin-command-docs
...
docs: clarify how to pass arguments using backup --stdin-from-command
2024-07-26 20:17:00 +00:00
Michael Eischer
d4b28cea6c
docs: clarify how to pass arguments using backup --stdin-from-command
2024-07-26 20:12:26 +02:00
Alexander Neumann
ebc15b8680
Set development version for 0.17.0
2024-07-26 11:30:50 +02:00
Alexander Neumann
277c8f5029
Add version for 0.17.0
2024-07-26 11:30:37 +02:00
Alexander Neumann
65748fcd6b
Update manpages and auto-completion
2024-07-26 11:30:37 +02:00
Alexander Neumann
905da91e61
Generate CHANGELOG.md for 0.17.0
2024-07-26 11:29:39 +02:00
Alexander Neumann
ad09d21aaf
Prepare changelog for 0.17.0
2024-07-26 11:28:55 +02:00
Michael Eischer
aa69b15f3e
Merge pull request #4936 from restic/828-fix-changelog
...
doc: Remove unrelated PR URL from changelog entry
2024-07-25 16:48:31 +00:00
Leo R. Lundgren
5a8c915443
doc: Remove unrelated PR URL from changelog entry
2024-07-25 14:27:43 +02:00
Michael Eischer
2be8793de2
Merge pull request #4933 from MichaelEischer/backup-source
...
docs: Replace all uses of target in relation to backup
2024-07-24 21:08:39 +02:00
Michael Eischer
fe2d1dfd84
Merge pull request #4932 from restic/polish-changelogs
...
doc: Polish unreleased changelogs
2024-07-24 18:47:03 +00:00
Michael Eischer
636bf2915e
minor tweaks
2024-07-24 20:40:15 +02:00
Michael Eischer
729e009485
replace all uses of target in relation to backup
2024-07-24 19:40:53 +02:00
Michael Eischer
0ddff92323
Merge pull request #4930 from MichaelEischer/update-xattr-lib
...
update xattr library to 0.4.10
2024-07-24 19:06:56 +02:00
Michael Eischer
4d6cd8f069
Merge pull request #4931 from restic/doc-vss-options
...
doc: Clarify VSS extended options
2024-07-23 20:54:38 +00:00
Leo R. Lundgren
77ec8ae091
doc: Polish unreleased changelogs
2024-07-23 00:51:57 +02:00
Leo R. Lundgren
c54d5a8eca
doc: Clarify VSS extended options
2024-07-23 00:37:56 +02:00
Michael Eischer
948c6f1da3
update xattr library to 0.4.10
2024-07-22 22:16:26 +02:00
Michael Eischer
fa5ff0873a
Merge pull request #4925 from MichaelEischer/fix-restore-truncation
...
restore: Fix truncation of uptodate files
2024-07-21 12:28:12 +02:00
Michael Eischer
b5d0586b26
Merge pull request #4926 from MichaelEischer/restore-size-only-files
...
restorer: only show size in text output for files
2024-07-21 12:06:15 +02:00
Michael Eischer
0dcac90bea
restorer: don't track already uptodate blobs
2024-07-21 12:03:56 +02:00
Michael Eischer
10efa77103
restorer: add test for file truncation case
2024-07-21 12:03:56 +02:00
Michael Eischer
6f8e17a463
restorer: minor code cleanups
2024-07-21 12:03:56 +02:00
Michael Eischer
5d6ce59a8d
restorer: also truncate files if their content is already uptodate
...
Files for which no blobs have to be restored, still have to be truncated
to the correct size. Take a file with content "foobar" that should be
replaced by restore with content "foo". The first three bytes are
already uptodate, such that no data has to be written. As file
truncation normally happens when writing data, a special case is
necessary.
This no blobs written special case is unified with the empty file
special case.
2024-07-21 12:03:56 +02:00
Michael Eischer
59c880fce3
restorer: only show size in text output for files
2024-07-20 12:46:28 +02:00
Michael Eischer
4f4598a1e3
Merge pull request #4905 from alex-kattathra-johnson/issue-4902
...
Update snapshot summary on rewrite
2024-07-16 18:06:15 +00:00
Alex Johnson
3bf2927006
Update snapshot summary on rewrite
...
Signed-off-by: Alex Johnson <hello@alex-johnson.net >
2024-07-16 12:06:50 -05:00
Michael Eischer
1a45f05e19
Merge pull request #4921 from MichaelEischer/restorer-bugs
...
restore: fix cancelation and partial updates of large files
2024-07-14 11:38:58 +02:00
Michael Eischer
dcfffd7779
restore: extend overwrite test for small files
2024-07-14 11:30:41 +02:00
Michael Eischer
44e3610b32
restore: progress bar total on windows
2024-07-14 11:21:11 +02:00
Michael Eischer
4a9536b829
amend restore overwrite changelog
2024-07-14 11:21:11 +02:00
Michael Eischer
98cfb2c4c8
restore: test progress reporting for partially up to date files
2024-07-14 11:21:11 +02:00
Michael Eischer
26aa65e0d4
restore: add regression test for corrupt in-place restore of large file
2024-07-14 11:21:11 +02:00
Michael Eischer
2833b2f699
restore: fix progress bar for partially up to date files
2024-07-14 11:21:11 +02:00
Michael Eischer
c77b2d5ca2
restore: avoid long cancelation delay for frequently used blobs
2024-07-14 11:21:11 +02:00
Michael Eischer
f64191da9c
restore: improve reporting of cancelation errors
2024-07-14 11:21:08 +02:00
Michael Eischer
2976a666c3
Merge pull request #4920 from MichaelEischer/fix-ls-ncdu-toplevel
...
ls: fix handling of toplevel directories in ncdu output
2024-07-14 11:09:57 +02:00
Michael Eischer
bdf24dc8f9
ls: extend test sample with a second toplevel file
2024-07-13 10:22:01 +02:00
Michael Eischer
5671dfb481
ls: fix ncdu output for file with timestamp before 1970
2024-07-13 10:21:02 +02:00
Michael Eischer
ff9238ebf1
ls: use / as top-level dir name in ncdu output
2024-07-12 23:46:50 +02:00
Michael Eischer
2971a769da
restore: fix corrupt restore of partially up to date files
2024-07-12 22:27:00 +02:00
Michael Eischer
40e5163114
restore: properly cancel file verification
2024-07-12 22:26:22 +02:00
Michael Eischer
31887ea9aa
restore: fix hang on command cancelation
2024-07-12 22:24:35 +02:00
Michael Eischer
9f66065237
ls: fix handling of toplevel directories in ncdu output
2024-07-12 21:49:35 +02:00
Michael Eischer
375c572c4f
Merge pull request #4884 from MichaelEischer/lock-and-not-exist-error-codes
...
Return different exit code if repo is locked or does not exist
2024-07-12 21:05:52 +02:00
Michael Eischer
6010c98b3f
Merge pull request #4918 from MichaelEischer/restore-dont-delete-target-if-file
...
restore: do not delete target if it is a file
2024-07-12 21:05:04 +02:00
Michael Eischer
36cc62075c
add exit code changelog
2024-07-10 22:13:37 +02:00
Michael Eischer
54ca27a6f2
doc: update init check with exit code 10
2024-07-10 22:13:37 +02:00
Michael Eischer
1328cdd002
Merge pull request #4917 from MichaelEischer/dry-run-speed-up-hint
...
restore: document how to speed up dry-run
2024-07-10 20:12:39 +00:00
Michael Eischer
8731667156
restore: do not delete target if it is a file
...
This is implicitly achieved by creating the target directory as the
first step, which will fail if a file already exist in its place.
2024-07-10 22:08:49 +02:00
Michael Eischer
294c8524ed
doc: document exit codes
2024-07-10 21:47:24 +02:00
Michael Eischer
94fdca08c4
return exit code 10 if repository does not exist
2024-07-10 21:46:26 +02:00
Michael Eischer
d76a78aa99
return exit code 11 if the repository could not be locked
2024-07-10 21:37:32 +02:00
Michael Eischer
3b7228c8c1
explicitly document exit code 1 on error
2024-07-10 21:35:46 +02:00
Michael Eischer
f560152627
restore: document how to speed up dry-run
2024-07-10 21:34:10 +02:00
Michael Eischer
36a2857df6
Merge pull request #4916 from restic/dependabot/go_modules/google.golang.org/grpc-1.64.1
...
build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1
2024-07-10 20:28:11 +02:00
Michael Eischer
5e1d0ffd99
Merge pull request #4911 from MichaelEischer/fix-filtered-ls-ncdu
...
ls: Fix --ncdu output with path filters and fix disk size
2024-07-10 20:27:42 +02:00
dependabot[bot]
8c7a2f1792
build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-10 18:23:27 +00:00
Michael Eischer
d8dbc71deb
Merge pull request #4908 from MichaelEischer/improve-anonymous-s3
...
S3: Improve anonymous access
2024-07-10 20:19:23 +02:00
Michael Eischer
5067a40bd8
update ncdu changelog
2024-07-10 20:18:53 +02:00
Michael Eischer
79c9fc45a9
ls: fix disk size in --ncdu output
...
Ncdu expects a size in disk blocks. Round up to the next full block.
Otherwise, small files with size below 255bytes would be rounded down to
0B by ncdu.
2024-07-10 20:18:53 +02:00
Michael Eischer
15419d603d
ls: add missing intermediate directories to --ncdu output
2024-07-10 20:18:53 +02:00
Michael Eischer
dc0db4eda4
add s3 anonymous authentication changelog entry
2024-07-10 20:10:27 +02:00
Michael Eischer
f74e70cc36
s3: forbid anonymous authentication unless explicitly requested
2024-07-10 20:10:27 +02:00
Michael Eischer
7cea5402ff
Merge pull request #4913 from MichaelEischer/always-show-snapshot-size
...
snapshots: also show snapshot size in compact view
2024-07-10 20:05:41 +02:00
Michael Eischer
a8fc67d68b
Merge pull request #4914 from drdo/minor-correction-design-doc
...
doc: Update index explanation to match the example
2024-07-09 18:46:47 +00:00
Daniel Oliveira
94c3d3f097
doc: Update index explanation to match the example
...
In commit 00575ec the example was changed to three data blobs due to the deprecation of mixed pack files
but the following description was not updated to reflect this.
2024-07-09 00:18:09 +01:00
Michael Eischer
f4ecb9d615
Merge pull request #4909 from MichaelEischer/properly-set-dev-version
...
Fix VERSION file and dev version in binaries
2024-07-08 20:15:20 +02:00
Michael Eischer
c309ffb35b
Merge pull request #4912 from MichaelEischer/restore-delete-preserve-root
...
restore: forbid --target / --delete unless include/exclude is specified
2024-07-08 20:14:44 +02:00
Michael Eischer
f980f5647e
snapshots: also show snapshot size in compact view
2024-07-08 20:00:26 +02:00
Michael Eischer
b71a885b92
Merge pull request #4907 from MichaelEischer/bump-dependencies
...
Bump some dependencies
2024-07-08 19:32:25 +02:00
Michael Eischer
24a7ff45f2
Merge pull request #4904 from MichaelEischer/fix-status-cleanup
...
ui/termstatus: fix clearing status lines
2024-07-08 19:31:55 +02:00
Michael Eischer
00d9ce7bee
fix setting version in build script
2024-07-08 19:30:17 +02:00
Michael Eischer
a0cac7fcd1
helpers/prepare-release: write dev version to VERSION file
2024-07-07 14:04:09 +02:00
Michael Eischer
1856f4d87a
restore: forbid --target / --delete unless include/exclude is specified
2024-07-07 13:54:45 +02:00
Michael Eischer
894ec9d05d
ls: fix broken folder if --ncdu an file filters are combined
2024-07-07 13:08:41 +02:00
Michael Eischer
4b364940aa
s3: use http client with configured timeouts for s3 IAM communication
...
The default client has no timeouts configured opening network
connections. Thus, if 169.254.169.254 is inaccessible, then the client
would wait for until the operating system gives up, which will take
several minutes.
2024-07-07 11:32:40 +02:00
Michael Eischer
a2a2401a68
s3: prevent repeated credential queries with anonymous authentication
2024-07-07 11:31:04 +02:00
Michael Eischer
be98402ac6
Merge pull request #4906 from joram-berger/patch-1
...
Add explanation to restic diff symbols
2024-07-06 19:07:08 +00:00
Michael Eischer
10765151d3
doc: fine tune description of diff command
2024-07-06 21:01:58 +02:00
Michael Eischer
f3a3c46153
bump some dependencies
2024-07-06 17:34:28 +02:00
Joram Berger
33de00bba0
Add explanation to restic diff symbols
...
Explain what the characters for each file in a restic diff output mean.
2024-07-06 16:47:04 +02:00
Michael Eischer
aedead2823
ui/termstatus: fix clearing status lines
...
To clear the status lines, they should be set to an empty array to
prevent future updates of those lines. Setting the status lines to an
array containing an empty string is wrong as this causes the output to
continuously add that empty status line after each message.
2024-07-06 11:27:35 +02:00
Michael Eischer
8e27a934de
Merge pull request #4881 from MichaelEischer/restore-delete-actual
...
restore: add `--delete` option
2024-07-05 22:52:54 +02:00
Michael Eischer
54316978cd
add restore --delete changelog
2024-07-05 22:38:39 +02:00
Michael Eischer
569f111cb1
restore: document --delete option
2024-07-05 22:38:39 +02:00
Michael Eischer
868219aad1
restore: test --dry-run plus --delete
2024-07-05 22:38:39 +02:00
Michael Eischer
aa8e18cf32
restore: add deletions to progress output
2024-07-05 22:38:39 +02:00
Michael Eischer
f4b15fdd96
restore: allow deleting a directory to replace it with a file
...
When the `--delete` option is specified, recursively delete directories
that should be replaced with a file.
2024-07-05 22:38:39 +02:00
Michael Eischer
168fc09d5f
restore: use case insensitive file name comparison on windows
2024-07-05 22:38:39 +02:00
Michael Eischer
013a6156bd
restore: remove unused parameter from SelectFilter
2024-07-05 22:38:39 +02:00
Michael Eischer
ac44bdf6dd
restore: add --delete option to remove files that are not in snapshot
2024-07-05 22:38:39 +02:00
Michael Eischer
144e2a451f
restore: track expected filenames in a folder
2024-07-05 21:03:35 +02:00
Michael Eischer
d762f4ee64
restore: simplfy selectFilter arguments
2024-07-05 21:03:35 +02:00
Michael Eischer
a9a60f77ce
restore: optimize memory usage
2024-07-05 21:03:35 +02:00
Michael Eischer
1369658a32
archiver: extract Readdirnames to fs package
2024-07-05 21:03:34 +02:00
Michael Eischer
83fdcf21fe
Merge pull request #4839 from MichaelEischer/restore-dry-run
...
restore: add `--dry-run` and extended progress output
2024-07-05 21:02:13 +02:00
Michael Eischer
a90665028f
doc: fix syntax error
2024-07-05 20:41:27 +02:00
Michael Eischer
ae978d60cc
restore: pass action enum to restore progress
2024-07-05 20:41:27 +02:00
Michael Eischer
798256ec52
restore: add dry-run docs
2024-07-05 20:41:27 +02:00
Michael Eischer
83351f42e3
restore: add dry-run support
2024-07-05 20:41:27 +02:00
Michael Eischer
c47bf33884
restore: print processed files at maximum verbosity
2024-07-05 20:41:27 +02:00
Michael Eischer
2a7d257036
Merge pull request #4882 from MichaelEischer/improve-check-output
...
check: improve output if repository is damaged
2024-07-05 20:16:45 +02:00
Michael Eischer
283038056e
doc: suggest to follow troubleshooting steps if check reports error
2024-07-05 20:04:25 +02:00
Michael Eischer
fdc7349aa4
check: improve error on damaged index
...
Always return the `repository contains errors` message if a repository
is damaged and must be repaired. Also provide specific instructions how
to repair the index.
2024-07-05 20:04:25 +02:00
Michael Eischer
a03e00373c
update repair packs changelog
2024-07-05 20:04:25 +02:00
Michael Eischer
879ba07a87
check: only show additional files if verbose output is enabled
...
Additional files are nearly always caused by interrupted backup runs.
This is unproblematic, thus don't pollute the check output with it.
2024-07-05 20:04:25 +02:00
Michael Eischer
6d9dfff1cb
check: point users towards the troubleshooting guide if repo has errors
2024-07-05 20:04:25 +02:00
Michael Eischer
c9a4a95848
check: suggest using repair packs to repair truncated pack files
...
Previously, that help message was only shown for running `check
--read-data`.
2024-07-05 20:04:25 +02:00
Michael Eischer
da338d5aa8
check: tweak wording of repair packs message
...
By now, the message is also shown for truncated or otherwise damaged pack
files, not just those with corrupted blobs.
2024-07-05 20:04:25 +02:00
Michael Eischer
1671a3fe2e
check: hide message about additional files if error in repo
...
The message says "[...] addition files were found [...]. This is
non-critical [...]". Unless users are highly experienced with restic,
it's hard to correctly interpret what "This" refers to. Thus, just hide
the message if there is a real problem.
2024-07-05 20:04:25 +02:00
Michael Eischer
b1250eead9
check: mark s3legacy layout and legacy indexes are error
2024-07-05 20:04:25 +02:00
Michael Eischer
66a67d568d
Merge pull request #4885 from MichaelEischer/clarify-path-option
...
Clarify semantics of `--path` option and update manual_rest.rst
2024-07-05 19:53:15 +02:00
Michael Eischer
737389ea68
Merge pull request #4896 from MichaelEischer/fix-subfolder-help-text
...
man: work around broken rendering of <snapshotID>:<subfolder> help text
2024-07-04 22:06:51 +02:00
Michael Eischer
6fadc0131b
Merge pull request #4883 from MichaelEischer/fix-check-cache
...
check: fix cachedir creation when using default location
2024-07-04 22:06:28 +02:00
Michael Eischer
a44e4bdd40
man: work around broken rendering of <snapshotID>:<subfolder> help text
2024-07-03 20:39:59 +02:00
Michael Eischer
639326903c
Merge pull request #4893 from szepeviktor/typos
...
Fix typos
2024-07-03 18:09:40 +00:00
Viktor Szépe
ac00229386
Fix typos
2024-07-03 20:02:06 +02:00
Michael Eischer
278ec55d3f
Merge pull request #4894 from eltociear/patch-1
...
docs: update 045_working_with_repos.rst
2024-07-03 17:26:39 +00:00
Ikko Eltociear Ashimine
a60643de9c
docs: update 045_working_with_repos.rst
...
colums -> columns
2024-07-03 14:31:11 +09:00
Michael Eischer
a72b418319
Merge pull request #4889 from restic/dependabot/go_modules/github.com/spf13/cobra-1.8.1
...
build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1
2024-07-01 21:02:47 +00:00
Michael Eischer
9e8d7c3ad4
Merge pull request #4887 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.7.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.6.0 to 1.7.0
2024-07-01 21:00:58 +00:00
dependabot[bot]
f02cb8eb62
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.6.0...sdk/azcore/v1.7.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 20:50:05 +00:00
Michael Eischer
7a21924d72
Merge pull request #4891 from restic/dependabot/go_modules/golang.org/x/oauth2-0.21.0
...
build(deps): bump golang.org/x/oauth2 from 0.20.0 to 0.21.0
2024-07-01 20:49:49 +00:00
Michael Eischer
cef24bdcf4
Merge pull request #4890 from restic/dependabot/go_modules/github.com/klauspost/compress-1.17.9
...
build(deps): bump github.com/klauspost/compress from 1.17.8 to 1.17.9
2024-07-01 20:45:57 +00:00
Michael Eischer
97969e515d
Merge pull request #4886 from restic/dependabot/github_actions/docker/build-push-action-6
...
build(deps): bump docker/build-push-action from 5 to 6
2024-07-01 20:39:44 +00:00
Michael Eischer
74ef20b406
Merge pull request #4888 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azcore-1.12.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.11.1 to 1.12.0
2024-07-01 20:36:04 +00:00
Michael Eischer
c3ad56474d
Merge branch 'patch-release'
2024-07-01 21:49:39 +02:00
Alexander Neumann
5820dccaef
Set development version for 0.16.5
2024-07-01 21:25:34 +02:00
Alexander Neumann
fe9f142b52
Add version for 0.16.5
2024-07-01 21:25:34 +02:00
Alexander Neumann
6ae760751a
Generate CHANGELOG.md for 0.16.5
2024-07-01 21:25:33 +02:00
Alexander Neumann
2fa1b42706
Prepare changelog for 0.16.5
2024-07-01 21:25:33 +02:00
dependabot[bot]
e939c9fd6c
build(deps): bump golang.org/x/oauth2 from 0.20.0 to 0.21.0
...
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2 ) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.20.0...v0.21.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-07-01 01:41:05 +00:00
dependabot[bot]
59b5eacd0f
build(deps): bump github.com/klauspost/compress from 1.17.8 to 1.17.9
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.8 to 1.17.9.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.8...v1.17.9 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 01:40:59 +00:00
dependabot[bot]
3de98f11f0
build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Commits](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 01:40:50 +00:00
dependabot[bot]
6171389803
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go ) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.11.1...sdk/azcore/v1.12.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 01:40:44 +00:00
dependabot[bot]
bda7aba97d
build(deps): bump docker/build-push-action from 5 to 6
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 01:15:18 +00:00
Michael Eischer
aa33af3e75
update command help docs
2024-06-30 20:34:36 +02:00
Michael Eischer
ed904dfac0
clarify that all paths specified using --path option must match
2024-06-30 20:32:36 +02:00
Michael Eischer
ce0cbc7a36
check: fix cachedir creation when using default location
2024-06-30 12:04:57 +02:00
Michael Eischer
132965fd5c
Merge pull request #4864 from MichaelEischer/restore-delete
...
restore: improve file type mismatch handling
2024-06-26 21:27:57 +02:00
Michael Eischer
9817126341
Merge pull request #4863 from MichaelEischer/safer-repo-init2
...
repository: prevent initialization if a snapshot exists
2024-06-26 21:11:11 +02:00
Michael Eischer
ca04a88e65
Merge pull request #4879 from restic/backport-azure-cli-option
...
Backport azure cli option
2024-06-26 21:07:16 +02:00
Michael Eischer
12e858b7af
azure: deduplicate cli and default credentials case
2024-06-26 20:59:51 +02:00
Maik Riechert
834f08fe2d
Azure: add option to force use of CLI credential
2024-06-26 20:59:51 +02:00
Michael Eischer
814ef4901f
Merge pull request #4878 from restic/patch-deps-bump
...
Bump dependencies
2024-06-26 20:58:29 +02:00
Michael Eischer
84bc9432de
update release verification script for latest docker
2024-06-26 20:49:23 +02:00
Michael Eischer
e9d711422a
bump azure, golang and gcs dependencies
2024-06-26 20:49:23 +02:00
Michael Eischer
e37c11979a
Merge pull request #4866 from MichaelEischer/fix-ea-windows
...
Fix xattr backup on windows
2024-06-26 20:46:24 +02:00
Michael Eischer
c01b655229
backup: fix reading xattrs on Windows for root disks as regular user
...
Unprivileged users cannot open the root disks with write permissions for
xattrs. Thus, only request read permissions for reading the xattrs.
2024-06-26 20:13:50 +02:00
Michael Eischer
20a6c526e5
restic: also fix file path when reading windows xattrs
2024-06-14 22:40:25 +02:00
Michael Eischer
b80aa7b1cc
repository: prevent initialization if a snapshot exists
2024-06-14 20:37:01 +02:00
Michael Eischer
deca7d08ac
restorer: cleanup unexpected xattrs on windows
2024-06-14 20:17:06 +02:00
Michael Eischer
9572b7224f
restorer: windows test fixes
2024-06-13 23:20:09 +02:00
Michael Eischer
ca41c8fd11
restore: use fs function wrappers
...
This ensures proper path handling on Windows.
2024-06-13 22:40:37 +02:00
Michael Eischer
3d73ae9988
update restore changelog
2024-06-13 22:32:53 +02:00
Michael Eischer
4d6042fe95
restore: remove unexpected xattrs from files
2024-06-13 22:21:00 +02:00
Michael Eischer
ebbd4e26d7
restorer: allow directory to replace existing file
2024-06-13 21:57:48 +02:00
Michael Eischer
ac729db3ce
restorer: fix overwriting of special file types
...
An attempt to replace an existing file with a hardlink previously ended
with a missing file.
Remove an existing file before trying to restore a special node. This
generalizes the existing behavior for symlinks to all special node
types.
2024-06-13 21:56:18 +02:00
Michael Eischer
c7902b7724
restorer: cleanup overwrite tests
2024-06-13 21:55:33 +02:00
Michael Eischer
c598a751c2
restore: fine-grained sparse support for windows
2024-06-13 21:55:33 +02:00
Michael Eischer
d265ec64f2
restore: correctly handle existing hardlinks
...
With hardlinks there's no efficient way to detect which files are linked
with each other. Thus, just start from scratch when restore has to
modify a hardlinked file.
2024-06-13 21:55:33 +02:00
Michael Eischer
f19b69af25
restore: allow overwrite to replace empty directories and symlinks
...
With an already existing file tree an old directory or symlink may exist
in a place where restore wants to create a new file. Thus, check for
unexpected file types and clean up if necessary.
2024-06-13 21:55:33 +02:00
Michael Eischer
267cd62ae4
Merge pull request #4838 from MichaelEischer/restore-skip-unchanged
...
restore: skip unchanged files and add `--overwrite if-changed` option
2024-06-13 21:26:04 +02:00
Michael Eischer
d890bfff7c
doc: suggest backup before in-place restore
2024-06-13 21:17:30 +02:00
Michael Eischer
f1c76a8286
restore: fix corrupted sparse files
2024-06-13 21:17:30 +02:00
Michael Eischer
1eccd6504b
restore: test restore only changed parts functionality
2024-06-13 21:17:30 +02:00
Michael Eischer
3ec28ff853
update restore --overwrite documentation
2024-06-13 21:17:30 +02:00
Michael Eischer
5c3709e17a
restore: add --overwrite=if-changed to skip files if their mtime&size matches
...
--overwrite=always still checks the file content
2024-06-13 21:17:30 +02:00
Michael Eischer
a66658b4c9
restore: only restore changed file parts
...
For files that should be overwritten, first check whether their content
matches the snapshot and only restore diverging parts.
2024-06-13 21:17:30 +02:00
Michael Eischer
63ea017e67
Merge pull request #4861 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azidentity-1.6.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.2 to 1.6.0
2024-06-13 17:50:10 +00:00
Michael Eischer
62e0e5e8d8
restore: cleanup options handling
2024-06-12 22:53:53 +02:00
Michael Eischer
8733cd21b9
restore: fix file encryption on windows
...
The assumption that a file is not readonly is no longer valid.
2024-06-12 22:53:53 +02:00
Michael Eischer
8aa3ab6ef8
restore: check file type in verify
2024-06-12 22:53:53 +02:00
Michael Eischer
663151db57
Merge pull request #4837 from MichaelEischer/restore-options
...
Make restore overwrite behavior configurable
2024-06-12 22:52:55 +02:00
Michael Eischer
7f7c995977
fix linter warnings
2024-06-12 22:36:52 +02:00
Michael Eischer
105261e12e
add changelog for restore --overwrite
2024-06-12 22:36:52 +02:00
Michael Eischer
e1ec60c2ee
document restore --overwrite
2024-06-12 22:36:52 +02:00
Michael Eischer
ba53a2abb5
test overwrite behavior
2024-06-12 22:36:52 +02:00
Michael Eischer
e47e08a688
restorer: separately track skipped files
2024-06-12 22:36:52 +02:00
Michael Eischer
64b7b6b975
restore/ui: refactor for extensibility
2024-06-12 22:36:52 +02:00
Michael Eischer
6a4ae9d6b1
restore: configurable overwrite behavior
2024-06-12 22:36:52 +02:00
Michael Eischer
a23cb3a428
restore: reduce memory usage
2024-06-12 22:36:52 +02:00
Michael Eischer
2b50c2606c
restorer: use options struct
2024-06-12 22:36:52 +02:00
Michael Eischer
0fcd89f892
restorer: remove special case for blobs with many occurrences
...
Loading blobs by now is no longer prone to timeouts when processing
takes a long time.
2024-06-12 22:36:52 +02:00
Michael Eischer
fd2ff464a2
restorer: remove stale comment
2024-06-12 22:36:52 +02:00
Michael Eischer
607daeed4f
restore: move nil pointer check into restoreui
2024-06-12 22:36:52 +02:00
Michael Eischer
30320a249a
restore: let filerestorer also handle empty files
...
This get's rid of the corresponding special cases.
2024-06-12 22:36:52 +02:00
Michael Eischer
c166ad7daf
restore: factor out file creation helper
2024-06-12 22:36:52 +02:00
dependabot[bot]
1e7bc6dab8
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.5.2...sdk/azcore/v1.6.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-12 20:09:17 +00:00
Michael Eischer
f834c1f08a
Merge pull request #4825 from MichaelEischer/bump-fuse
...
mount: support fuse-t on macOS
2024-06-12 20:33:05 +02:00
Michael Eischer
058292700c
mount: support fuse-t on macOS
2024-06-11 22:52:08 +02:00
Michael Eischer
be05a17e15
Merge pull request #4811 from konidev20/fix-gh-4781-restore-include-and-exclude-file-switches
...
Restore flags to include from file and exclude from file
2024-06-10 19:36:07 +00:00
Srigovind Nayak
fe412e2553
fix: restore inclusion logic and restore tests
...
doc: update exclude and include docs
2024-06-10 01:55:39 +05:30
Srigovind Nayak
188684ee9e
fix: include and exclude logic, add tests for include file and exclude file
2024-06-09 19:07:23 +05:30
Michael Eischer
fc3841e7cc
Merge pull request #4851 from MichaelEischer/fix-utf-16-key
...
key add/passwd: handle UTF-16 encoding correctly
2024-06-09 11:27:58 +02:00
Michael Eischer
da4512738a
Merge pull request #4853 from MichaelEischer/safer-repo-init
...
init: double check that no repository exists yet
2024-06-09 11:27:45 +02:00
Michael Eischer
7861fc1942
Merge pull request #4856 from MichaelEischer/fix-verify-script
...
update release verification script for latest docker
2024-06-09 11:27:35 +02:00
Michael Eischer
8440b94159
Merge pull request #4807 from zmanda/windows-extendedattribs
...
Back up and restore Extended Attributes on Windows NTFS
2024-06-09 09:18:04 +00:00
Michael Eischer
bab760369f
repository: double check that there is not repository before init
...
Apparently, calling `Stat` on the config file can be unreliable for some
backends.
2024-06-09 00:05:32 +02:00
Srigovind Nayak
24a247a0dc
test: update test case name
2024-06-08 13:23:35 +05:30
Srigovind Nayak
3a52176121
restore: accumulate results of multiple pattern checks
...
addressing review comments
2024-06-08 13:23:35 +05:30
Srigovind Nayak
e579dfe72a
doc: update documentation for restore command
2024-06-08 13:23:35 +05:30
Srigovind Nayak
2a2c09e666
changelog: update changelog for gh-4781
2024-06-08 13:23:35 +05:30
Srigovind Nayak
1a7574e4b4
test: add tests for include By pattern
2024-06-08 13:23:35 +05:30
Srigovind Nayak
4e449ffaff
test: add tests for reading patterns from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
14d2799b44
fix: move include and exclude pattern validations to top
2024-06-08 13:23:35 +05:30
Srigovind Nayak
fdf2e4ed0e
restore: refactor include and exclude
...
- added includePatternOptions similar to excludePatternOptions
- followed similar approach to backup for selecting files for restore
2024-06-08 13:23:35 +05:30
Srigovind Nayak
7d5dd6db66
fix: add string.Lower for insenstive includes and excludes read from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
b02117ef0b
restore: read includes, insensitive includes, excludes and insensitive excludes from a file
...
feature for gh-4781
2024-06-08 13:23:35 +05:30
Michael Eischer
78485160fc
Merge pull request #4849 from fthoma/table-tcwidth
...
Use character display width for table padding
2024-06-07 19:53:14 +00:00
Michael Eischer
7cd324fe26
ui/table: avoid duplicate table cell width calculation
2024-06-07 21:45:40 +02:00
Michael Eischer
edd3e214c2
ui/table: fix width calculation of multi-line column headers
2024-06-07 21:44:49 +02:00
Michael Eischer
08c43d2c7e
update release verification script for latest docker
2024-06-07 21:00:10 +02:00
Michael Eischer
3f878aa8e7
Merge pull request #4845 from greatroar/errors
...
Fix error handling bug + clean up error messages
2024-06-07 17:07:07 +00:00
Michael Eischer
112de8526d
Merge pull request #4852 from MichaelEischer/master
...
crypto: cleanup ciphertext verification error
2024-06-07 19:06:08 +02:00
Michael Eischer
0a70bbcea5
Merge pull request #4844 from MichaelEischer/improve-timeout-error
...
backend: Improve timeout error message
2024-06-07 19:05:39 +02:00
aneesh-n
4f053da06a
Fix test case by correcting cleanup order
2024-06-05 23:10:29 -06:00
aneesh-n
2101dfe448
Add missing return to fix failing test
2024-06-05 22:40:21 -06:00
aneesh-n
7a48c9ebd7
Fix review comments
2024-06-05 16:06:57 -06:00
Michael Eischer
b82ecc6425
crypto: cleanup ciphertext verification error
2024-06-05 22:33:20 +02:00
Michael Eischer
c55665be2c
key add/passwd: handle UTF-16 encoding correctly
...
Just use the exact some function for load a password from a file
everywhere.
2024-06-05 22:19:26 +02:00
Michael Eischer
ef85a81e83
Merge pull request #4847 from rawtaz/azure-error-msg
...
azure: Improve error message in azure.Create()
2024-06-05 20:05:57 +00:00
Florian Thoma
e9de9684f4
Use character display width for table padding
...
Using len(...) for table cell padding produced wrong results for unicode
chracters leading to misaligned tables. Implementation changed to take
the actual terminal display width into consideration.
2024-06-05 09:33:15 +02:00
Leo R. Lundgren
b2bbbe805f
azure: Improve error message in azure.Create()
2024-06-03 23:37:17 +02:00
greatroar
10fdb914df
cmd: Return error in readPassword
...
The returned error was always nil.
Replaced Wrap by WithStack because the function name was stale.
2024-06-02 10:11:27 +02:00
Michael Eischer
660679c2f6
Merge pull request #4835 from MichaelEischer/fix-list-cancel
...
backend/retry: do not log final error if context was canceled
2024-06-01 19:17:30 +02:00
Michael Eischer
db2398f35b
backend: increase request progress timeout to 5 minutes
...
Apparently, 2 minutes are too short in some cases and can result in
canceled List requests.
2024-06-01 19:01:51 +02:00
Michael Eischer
6bf3d4859f
backend: improve error on http request timeout
...
Now yields a "request timeout" error instead of "context canceled".
2024-06-01 18:52:39 +02:00
greatroar
4a874000b7
gs: Replace some errors.Wrap calls
...
The first one in Create is already a WithStack error. The rest were
referencing code that hasn't existed for quite some time. Note that
errors from Google SDKs tends to start with "google:" or "googleapi:".
Also, use restic/internal/errors.
2024-06-01 15:11:06 +02:00
Michael Eischer
456ebfb0c7
Merge pull request #4840 from restic/dependabot/go_modules/google.golang.org/api-0.182.0
...
build(deps): bump google.golang.org/api from 0.181.0 to 0.182.0
2024-06-01 13:06:49 +00:00
Michael Eischer
830e87059a
Merge pull request #4842 from restic/dependabot/github_actions/docker/login-action-3.2.0
...
build(deps): bump docker/login-action from 3.1.0 to 3.2.0
2024-06-01 13:06:46 +00:00
Michael Eischer
a26beb9c1c
Merge pull request #4843 from restic/dependabot/github_actions/golangci/golangci-lint-action-6
...
build(deps): bump golangci/golangci-lint-action from 5 to 6
2024-06-01 13:06:43 +00:00
dependabot[bot]
46b0fac11e
build(deps): bump golangci/golangci-lint-action from 5 to 6
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-01 01:48:46 +00:00
dependabot[bot]
fced29b479
build(deps): bump docker/login-action from 3.1.0 to 3.2.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](e92390c5fb...0d4c9c5ea7 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-01 01:48:43 +00:00
dependabot[bot]
05d7885a87
build(deps): bump google.golang.org/api from 0.181.0 to 0.182.0
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.181.0 to 0.182.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.181.0...v0.182.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-06-01 01:02:01 +00:00
Michael Eischer
38654a3bd7
backend/retry: do not log final error if context was canceled
...
Calls to `List(ctx, ...)` are usually stopped by canceling the context
once no further entries are required by the caller. Thus, don't log the
final error if the used context was canceled.
2024-05-30 18:48:52 +02:00
Michael Eischer
2280fbfd2e
Merge pull request #4810 from konidev20/fix-gh-4768-add-custom-user-agent-for-http-client
...
Allow custom User-Agent to be specified for outgoing requests
2024-05-30 16:34:52 +00:00
Michael Eischer
7e0ee5974f
Merge pull request #4816 from MichaelEischer/skip-if-unchanged
...
backup: add support for `--skip-if-unchanged`
2024-05-30 15:39:08 +02:00
Srigovind Nayak
de7b418bbe
http: allow custom User-Agent for outgoing HTTP requests
2024-05-30 15:38:06 +02:00
Michael Eischer
c103c0830e
add changelog for skip-if-unchanged
2024-05-30 15:25:44 +02:00
Michael Eischer
513135b238
doc: slightly modernize backup examples
2024-05-30 15:25:44 +02:00
Michael Eischer
cdd210185d
Merge pull request #4823 from MichaelEischer/fix-check-output
...
Fix mangled check output
2024-05-30 15:17:27 +02:00
Michael Eischer
5649334099
backup: document --skip-if-unchanged
2024-05-30 15:14:32 +02:00
Michael Eischer
6869bdaaa8
backup: implement --skip-if-unchanged
2024-05-30 15:14:31 +02:00
Michael Eischer
13127f3f6b
check: remove output mangling workaround
2024-05-30 15:09:27 +02:00
Michael Eischer
939b537c80
check/migrate: convert to use termstatus to prevent mangled output
...
Errors reported by check would result in corrupted output.
2024-05-30 15:09:27 +02:00
Michael Eischer
7b4f81d964
Merge pull request #4829 from greatroar/termstatus
...
termstatus: Do formatting in Message, not Terminal
2024-05-30 11:57:44 +00:00
Michael Eischer
a5c7a83470
Merge pull request #4819 from restic/update-dependencies
...
Update dependencies
2024-05-30 13:55:46 +02:00
Michael Eischer
52b3fee42b
Merge pull request #4818 from MichaelEischer/move-code
...
Move cache / index / hashing / pack packages
2024-05-30 13:54:31 +02:00
Michael Eischer
e95cfff923
Merge pull request #4826 from MichaelEischer/fix-docs-warninigs
...
doc: fix warnings
2024-05-30 13:53:49 +02:00
Michael Eischer
fe8fbcc5ed
Merge pull request #4822 from MichaelEischer/consistent-backup-source-name
...
backup: refer to backed up data as backup source not target
2024-05-30 13:53:25 +02:00
Michael Eischer
3d4a620089
Merge pull request #4824 from MichaelEischer/fix-cache-race
...
bloblru: Fix flaky test due to race condition
2024-05-30 13:52:34 +02:00
greatroar
46f04bc5f0
termstatus: Do formatting in Message, not Terminal
2024-05-27 19:05:39 +02:00
Michael Eischer
a651af70d6
doc: fix warings
2024-05-26 14:32:09 +02:00
Michael Eischer
1c6067d93d
bloblru: variable name cleanup
2024-05-26 12:42:46 +02:00
Michael Eischer
21ce03cff2
bloblru: move defer outside critical section
2024-05-26 12:38:20 +02:00
Michael Eischer
0ad0b7ca7c
bloblru: fix race condition that can compute value multiple times
2024-05-26 12:37:24 +02:00
Michael Eischer
619ce8bfa2
Merge pull request #4820 from MichaelEischer/forget-extend-descritpion
...
forget: explain oldest snapshot special case in command help
2024-05-26 10:04:43 +00:00
Michael Eischer
107f18849c
doc: update help output in manual_rest.rst
2024-05-25 23:16:22 +02:00
Michael Eischer
18990dbed8
backup: refer to backed up data as backup source not target
...
A backup reads from the source and writes it to the backup target
(repository). The name "target" is kept within the source code as it's
used there excessively.
2024-05-25 23:13:37 +02:00
Michael Eischer
3828313974
Merge pull request #4821 from MichaelEischer/master
...
update `repair packs` changelog
2024-05-25 17:02:21 +02:00
Michael Eischer
04c181dbd0
update-repair-packs-changelog
2024-05-25 16:42:55 +02:00
Michael Eischer
21528c9f02
Merge pull request #4805 from plant99/mkdirall-cachedir
...
prepareCheckCache function: Add MkdirAll() to restic-cache directory if it doesn't exist
2024-05-25 14:30:21 +00:00
Shivashis Padhi
0271bb97f8
check: enhance check command to create cache directory if it doesn't exist
2024-05-25 19:15:42 +05:30
Michael Eischer
2c7ebf4c7f
forget: explain oldest snapshot special case in command help
2024-05-25 15:10:21 +02:00
Michael Eischer
7ea508e7b8
Merge pull request #4815 from greatroar/termstatus
...
Termstatus refactoring
2024-05-25 12:08:53 +00:00
Michael Eischer
496e57f956
hashing: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
5e0ea8fcfa
pack: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
50ec408302
index: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
58bbb27b4c
downgrade minio to keep go 1.19 support
2024-05-25 12:52:08 +02:00
Michael Eischer
c5260373ca
update backoff/xxhash libraries
2024-05-25 12:37:14 +02:00
Michael Eischer
b2f7a878cd
update backend libraries
...
minio-go is kept at 7.0.67 as later versions require Go 1.21.
2024-05-25 12:36:16 +02:00
Michael Eischer
f20bf5eeba
update golang.org/x packages
2024-05-25 12:35:28 +02:00
Michael Eischer
8e5d7d719c
cache: move to backend package
2024-05-24 23:04:06 +02:00
Michael Eischer
80132e71d8
Merge pull request #4808 from MichaelEischer/insecure-no-password
...
Implement `--insecure-no-password` option.
2024-05-24 22:58:25 +02:00
Michael Eischer
130506250f
document insecure-no-password
2024-05-24 22:38:20 +02:00
Michael Eischer
1d2277b4c3
Add --insecure-no-password option
...
This also includes two derived options `--from-insecure-no-password`
used for commands that require specifying a source repository. And
`--new-insecure-no-password` for the `key add` and `key passwd`
commands.
Specifying `--insecure-no-password` disabled the password prompt and
immediately uses an empty password. Passing a password via CLI option or
environment variable at the same time is an error.
2024-05-24 22:38:20 +02:00
Michael Eischer
d4b0d21199
key add/passwd: deduplicate options setup and remove globals
...
The current pattern of using a global options variable is problematic.
2024-05-24 22:38:20 +02:00
Michael Eischer
55cb8d174a
Merge pull request #4354 from MichaelEischer/associated-data
...
Reduce prune memory usage
2024-05-24 22:26:22 +02:00
Michael Eischer
436afbff23
add changelog for memory efficient prune
2024-05-24 22:18:14 +02:00
Michael Eischer
3c7b7efdc9
repository: remove prune plan parts once they are no longer necessary
2024-05-24 22:18:14 +02:00
Michael Eischer
462b82a060
index: reduce size of compressed indexes
...
use the same index size for compressed and uncompressed indexes.
Otherwise, decoding the index of a compressed repository requires
significantly more memory.
2024-05-24 22:18:14 +02:00
Michael Eischer
77873f5a9d
repository: let prune control data structure of usedBlobs set
2024-05-24 22:18:14 +02:00
Michael Eischer
2033c02b09
index: replace CountedBlobSet with AssociatedSet
2024-05-24 22:18:14 +02:00
Michael Eischer
93098e9265
prune: hide implementation details of counted blob set
2024-05-24 21:42:56 +02:00
Michael Eischer
ff4775a15f
Merge pull request #4812 from MichaelEischer/streaming-index-rewrite
...
Resumable prune & memory-efficient index rewrite
2024-05-24 21:41:30 +02:00
Michael Eischer
860b595a8b
backend: increase watchdog test timeout for deflaking
2024-05-24 21:33:17 +02:00
Michael Eischer
f680a2331d
add changelog for streaming index rewrite
2024-05-24 21:33:17 +02:00
Michael Eischer
027cc64737
repository: fix prune heuristic to allow resuming interrupted runs
...
Pack files created by interrupted prune runs, appear to consist only of
duplicate blobs on the next run. This caused the previous heuristic to
ignore those pack files. Now, a duplicate blob in a specific pack file
is also selected if that pack file only contains duplicate blobs. This
allows prune to select the already rewritten pack files.
2024-05-24 21:33:17 +02:00
Michael Eischer
e52033a8bd
index: slightly reduce Rewrite concurrency
...
The index operations are likely CPU-bounded. Thus, reduce the
concurrency accordingly.
2024-05-24 21:33:17 +02:00
Michael Eischer
57d69aa640
index: cleanup SaveIndex method
2024-05-24 21:33:17 +02:00
Michael Eischer
2ca1c37721
index: additional tests for new index save methods
2024-05-24 21:33:17 +02:00
Michael Eischer
5f7b48e65f
index: replace Save() method with Rewrite and SaveFallback
...
Rewrite implements a streaming rewrite of the index that excludes the
given packs. For this it loads all index files from the repository and
only modifies those that require changes. This will reduce the index
churn when running prune. Rewrite does not require the in-memory index
and thus can drop it to significantly reduce the memory usage.
However, `prune --unsafe-recovery` cannot use this strategy and requires
a separate method to save the whole in-memory index. This is now handled
using SaveFallback.
2024-05-24 21:33:17 +02:00
Michael Eischer
ad98fbf7dd
restic: add IDSet.Clone() method
2024-05-24 21:33:17 +02:00
Michael Eischer
72482ce5bd
index: misc cleanups
2024-05-24 21:33:17 +02:00
Michael Eischer
68fa0e0305
prune: no longer disable automatic index updates
...
this allows prune to resume an interrupted prune run.
2024-05-24 21:33:17 +02:00
Michael Eischer
9aa0c90fb2
index: remove supersedes field
...
Using the field with its current semantics is nearly impossible to get
right. Remove it as it will be replaced anyways in repository format 3.
2024-05-24 21:33:17 +02:00
Michael Eischer
76e6719f2e
repository: make CreateIndexFromPacks method private
2024-05-24 21:33:17 +02:00
Michael Eischer
04ad9f0c0c
repository: remove Packer and SavePacker from public interface
2024-05-24 21:33:17 +02:00
Michael Eischer
550d1eeac3
repository: remove SaveIndex from interface
...
The method is now only indirectly accessible via Prune or RepairIndex.
2024-05-24 21:33:17 +02:00
Michael Eischer
fb59e00614
index: rewrite MasterIndex load/save test to be independent of repository
2024-05-24 21:33:17 +02:00
Michael Eischer
447b486c20
index: deduplicate index loading of check and repository
2024-05-24 21:33:17 +02:00
Michael Eischer
6ca12c1b4a
archiver: replace most uses of restic.Repository
2024-05-24 21:33:17 +02:00
Michael Eischer
864995271e
repository: unwrap BlobHandle parameters of LookupBlob
...
The method now uses the same parameters as LookupBlobSize.
2024-05-24 21:33:17 +02:00
Michael Eischer
1266a4932f
repository: fix parameter order of LookupBlobSize
...
All methods should use blobType followed by ID.
2024-05-24 21:33:17 +02:00
Michael Eischer
e848ad651a
restic: name parameters in restic interface
2024-05-24 21:33:17 +02:00
Michael Eischer
0bb0720348
test cleanups
2024-05-24 21:33:17 +02:00
Michael Eischer
c01bcb1001
archiver: remove unused masterIndex from test
2024-05-24 21:33:17 +02:00
Michael Eischer
0aa5c53842
repository: replace HasBlob with LookupBlobSize
2024-05-24 21:33:17 +02:00
Michael Eischer
8f1e70cd9b
repository: remove clearIndex and packSize from public interface
2024-05-24 21:33:17 +02:00
Michael Eischer
4df887406f
repository: inline MasterIndex interface into Repository interface
2024-05-24 21:33:17 +02:00
Michael Eischer
3eeb6723cd
Merge pull request #4764 from MichaelEischer/safe-keep-tag
...
Prevent unsafe uses of `forget --keep-tag`
2024-05-24 20:51:20 +02:00
Michael Eischer
3cc6827f09
forget: add feature flag for safe --keep-tags behavior
2024-05-24 20:45:33 +02:00
Michael Eischer
7948912b31
document --unsafe-allow-remove-all option
2024-05-24 20:45:33 +02:00
Michael Eischer
3f46808898
add forget safety net changelogs
2024-05-24 20:45:33 +02:00
Michael Eischer
82ca0030b7
forget: test --unsafe-allow-remove-all and --keep-tags safety check
2024-05-24 20:45:33 +02:00
Michael Eischer
57f9739573
forget: Add --unsafe-allow-remove-all option
...
To prevent accidentally wiping all snapshots from a repository, that
option can only be used if either a snapshot filter or a keep policy is
specified.
Essentially, the option allows `forget --tag something
--unsafe-allow-remove-all` calls to remove all snapshots with a specific
tag.
2024-05-24 20:45:33 +02:00
Michael Eischer
5b7952e426
forget: return error if no policy was specified
2024-05-24 20:45:33 +02:00
Michael Eischer
c0e1f36830
forget: refuse deleting the last snapshot in a snapshot group
...
`--keep-tag invalid-tag` was previously able to wipe all snapshots in a
repository. As a user specified a `--keep-*` option this is likely
unintentional. This forbid deleting all snapshot if a `--keep-*` option
was specified to prevent data loss. (Not specifying such an option
currently also causes the command to abort)
2024-05-24 20:45:33 +02:00
Michael Eischer
d106ad6921
restic: regenerate snapshot keep policy golden test files
2024-05-24 20:45:33 +02:00
Michael Eischer
16ef4d515b
Merge pull request #4784 from MichaelEischer/rework-backend-retries
...
Rework backend retries
2024-05-24 20:29:54 +02:00
Michael Eischer
e4a48085ae
backend/retry: feature flag new retry behavior
2024-05-24 20:24:02 +02:00
Michael Eischer
723247c8e5
add changelog for longer retries
2024-05-24 20:24:02 +02:00
Michael Eischer
b1266867d2
repository: wait max 1 minutes for lock removal if context is canceled
...
The toplevel context in restic only canceled if the user interrupts a
restic operation. If the network connection has failed this can require
waiting the full retry duration of 15 minutes which is a bad user
experience for interactive usage. Thus limit the delay to one minute in
this case.
2024-05-24 20:24:02 +02:00
Michael Eischer
98709a4372
retry: reduce total number of retries
...
Retries in restic try to solve two main problems:
- retry a temporarily failed operation
- tolerate temporary network interruptions
The first problem only requires a few retries, whereas the last one benefits
primarily from spreading the requests over a longer duration.
Increasing the default multiplier and the initial interval works for
both cases. The first few retries only take a few seconds, while later
retries quickly reach the maximum interval of one minute. This ensures
that the total number of retries issued by restic will remain at around
21 retries for a 15 minute period. As the concurrency in restic is
bounded, retries drastically reduce the number of requests sent to a
backend. This helps to prevent overloading the backend.
2024-05-24 20:24:02 +02:00
Michael Eischer
512cd6ef07
retry: ensure that there's always at least one retry
...
Previously, if an operation failed after 15 minutes, then it would never
be retried. This means that large backend requests are more unreliable
than smaller ones.
2024-05-24 20:24:02 +02:00
Michael Eischer
a60ee9b764
retry: limit retries based on elapsed time not count
...
Depending on how long an operation takes to fail, the total retry
duration can currently vary between 1.5 and 15 minutes. In particular
for temporarily interrupted network connections, the former timeout is
too short. Thus always use a limit of 15 minutes.
2024-05-24 20:24:02 +02:00
Michael Eischer
a3633cad9e
retry: explicitly log failed requests
...
This simplifies finding the request in the log output that cause an
operation to fail.
2024-05-24 20:24:02 +02:00
Michael Eischer
b9cbf623fa
Merge pull request #4814 from MichaelEischer/fix-tmp-docs
...
doc: fix tmpdir documentation for windows
2024-05-24 18:17:59 +02:00
greatroar
66d03c797e
ui, termstatus: Move WrapStdio
...
Saves some imports. ui still needs to import ui/termstatus from
message.go.
2024-05-21 11:25:16 +02:00
greatroar
0b56214473
ui: Simplify stdio wrapper
...
The StdioWrapper type is really just a pair of io.WriteClosers, so
remove it in favor of a function that returns two of those. Test
coverage increases because the removed code was not tested.
2024-05-21 11:23:32 +02:00
greatroar
7f439a9c34
ui: Inline lineWriter into StdioWrapper
2024-05-21 11:00:09 +02:00
Michael Eischer
4021e67d97
doc: fix tmpdir documentation for windows
2024-05-20 20:48:29 +02:00
Michael Eischer
8898f61717
Merge pull request #4809 from MichaelEischer/update-changelog
...
add retries for corrupted blobs to changelog
2024-05-18 23:04:13 +02:00
Michael Eischer
5f23baabcc
add retries for corrupted blobs to changelog
2024-05-18 23:03:24 +02:00
Michael Eischer
9c5bac6f25
Merge pull request #4799 from letmaik/letmaik/azure-force-cli-credential
...
Azure: add option to force use of CLI credential
2024-05-18 20:22:15 +00:00
Michael Eischer
c56ecec9aa
azure: deduplicate cli and default credentials case
2024-05-18 22:15:54 +02:00
Maik Riechert
355f520936
Azure: add option to force use of CLI credential
2024-05-18 22:15:54 +02:00
Michael Eischer
1dfe1b8732
Merge pull request #4802 from MichaelEischer/backend-cleanups
...
Repository: Remove Backend() method
2024-05-18 22:02:45 +02:00
Michael Eischer
223aa22cb0
replace some uses of restic.Repository with finegrained interfaces
2024-05-18 21:42:51 +02:00
Michael Eischer
291c9677de
restic/repository: remove Backend() method
2024-05-18 21:42:51 +02:00
Michael Eischer
673496b091
repository: clean cache between CheckPack retries
...
The cache cleanup pattern is also used in ListPack etc.
2024-05-18 21:42:51 +02:00
Michael Eischer
3d2410ed50
Replace some repo.RemoveUnpacked usages
...
These will eventually be blocked as they do not delete Snapshots.
2024-05-18 21:42:51 +02:00
Michael Eischer
d2c26e33f3
repository: remove further usages of repo.Backend()
2024-05-18 21:42:51 +02:00
Michael Eischer
8a425c2f0a
remove usages of repo.Backend() from tests
2024-05-18 21:42:51 +02:00
Michael Eischer
aa4647f773
repository: unexport PackBlobIterator
2024-05-18 21:42:51 +02:00
Michael Eischer
94e863885c
check: move verification of individual pack file to repository
2024-05-18 21:42:50 +02:00
Michael Eischer
e40943a75d
restic: remove backend usage from lock test
2024-05-18 21:38:31 +02:00
Michael Eischer
67e2ba0d40
repository: Lock requires *repository.Repository
...
This allows the Lock function to access the backend, even once the
Backend method is removed from the interface.
2024-05-18 21:38:31 +02:00
Michael Eischer
d8b184b3d3
repository: convert test helper to return *repository.Repository
2024-05-18 21:38:31 +02:00
Michael Eischer
a1ca5e15c4
migrations: add temporary hack for s3_layout
...
The migration will be removed after the next restic release anyways.
Thus, there's no need for a clean implementation.
2024-05-18 21:38:31 +02:00
Michael Eischer
34d90aecf9
migrations: move logic of upgrade_repo_v2 to repository package
...
The migration modifies repository internals and thus should live within
the repository package.
2024-05-18 21:38:31 +02:00
Michael Eischer
ab9077bc13
replace usages of backend.Remove() with repository.RemoveUnpacked()
...
RemoveUnpacked will eventually block removal of all filetypes other than
snapshots. However, getting there requires a major refactor to provide
some components with privileged access.
2024-05-18 21:38:31 +02:00
Michael Eischer
8274f5b101
prune: remove Backend.IsNotExist()
...
Only handling one specific error is not particularly useful.
2024-05-18 21:38:31 +02:00
Michael Eischer
9795198189
debug: remove Backend.Stat() usage
2024-05-18 21:38:31 +02:00
Michael Eischer
0c1ba6d95d
backend: remove unused Location method
2024-05-18 21:38:31 +02:00
Michael Eischer
eb6c653f89
Merge pull request #4800 from MichaelEischer/cleanup-load
...
Retry loading of corrupted data from backend / cache
2024-05-18 21:34:54 +02:00
Michael Eischer
74d90653e0
check: use ReadFull to load pack header in checkPack
...
This ensures that the pack header is actually read completely.
Previously, for a truncated file it was possible to only read a part of
the header, as backend.Load(...) is not guaranteed to return as many
bytes as requested by the length parameter.
2024-05-18 21:28:54 +02:00
Michael Eischer
8f8d872a68
fix compatibility with go 1.19
2024-05-18 21:28:54 +02:00
Michael Eischer
ff0744b3af
check: test checkPack retries
2024-05-18 21:28:54 +02:00
Michael Eischer
987c3b250c
repository: test retries of ListPack
2024-05-18 21:28:54 +02:00
Michael Eischer
bf16096771
repository: test LoadBlob retries
2024-05-18 21:28:54 +02:00
Michael Eischer
4f45668b7c
repository: rework and extend LoadRaw tests
2024-05-18 21:28:54 +02:00
Michael Eischer
ac805d6838
cache: cleanup debug logs
2024-05-18 21:28:54 +02:00
Michael Eischer
5214af88e2
cache: test forget behavior
2024-05-18 21:28:54 +02:00
Michael Eischer
3ff063e913
check: verify pack a second time if broken
2024-05-18 21:28:54 +02:00
Michael Eischer
385cee09dc
repository: fix caching of tree packs in LoadBlobsFromPack
2024-05-18 21:28:54 +02:00
Michael Eischer
e734746f75
cache: forget cached file at most once
...
This is inspired by the circuit breaker pattern used for distributed
systems. If too many requests fails, then it is better to immediately
fail new requests for a limited time to give the backend time to
recover.
By only forgetting a file in the cache at most once, we can ensure that
a broken file is only retrieved once again from the backend. If the file
stored there is broken, previously it would be cached and deleted
continuously. Now, it is retrieved only once again, all later requests
just use the cached copy and either succeed or fail immediately.
2024-05-18 21:28:54 +02:00
Michael Eischer
97a307df1a
cache: Always use cached file if it exists
...
A file is always cached whole. Thus, any out of bounds access will also
fail when directed at the backend. To handle case in which the cached
file is broken, then caller must call Cache.Forget(h) for the file in
question.
2024-05-18 21:28:54 +02:00
Michael Eischer
8cce06d915
repair packs: drop experimental warning
...
This warning should already have been removed once the feature flag was
dropped.
2024-05-18 21:28:54 +02:00
Michael Eischer
433a6aad29
repository: remove redundant blob loading fallback from RepairPacks
...
LoadBlobsFromPack already implements the same fallback behavior.
2024-05-18 21:28:54 +02:00
Michael Eischer
e401af07b2
check: fix error message formatting
2024-05-18 21:28:54 +02:00
Michael Eischer
7017adb7e9
repository: retry failed ListPack once
2024-05-18 21:28:54 +02:00
Michael Eischer
e33ce7f408
repository: retry failed LoadBlob once
2024-05-18 21:28:54 +02:00
Michael Eischer
2ace242f36
repository: make reloading broken files explicit
2024-05-18 21:28:54 +02:00
Michael Eischer
e9390352a7
cache: code cleanups
2024-05-18 21:26:00 +02:00
Michael Eischer
503c8140b1
repository: unify blob decoding code
2024-05-18 21:26:00 +02:00
Michael Eischer
6563f1d2ca
repository: remove redundant debug log
2024-05-18 21:26:00 +02:00
Michael Eischer
021fb49559
repository: Implement repository.LoadUnpacked using LoadRaw
...
Both functions were using a similar implementation.
2024-05-18 21:26:00 +02:00
Michael Eischer
779c8d3527
debug/repair packs/upgrade repo v2: use repository.LoadRaw
...
This replaces calling the low-level backend.Load() method.
2024-05-18 21:26:00 +02:00
Michael Eischer
1d6d3656b0
repository: move backend.LoadAll to repository.LoadRaw
...
LoadRaw also includes improved context cancellation handling similar to the
implementation in repository.LoadUnpacked.
The removed cache backend test will be added again later on.
2024-05-18 21:26:00 +02:00
Michael Eischer
47232bf8b0
backend: move LimitReadCloser to util package
...
The helper is only intended for usage by backend implementations.
2024-05-18 21:26:00 +02:00
Michael Eischer
dcd151147c
Merge pull request #4803 from restic/permanent-retry-failure
...
Do not retry permanent backend failures
2024-05-18 20:07:06 +02:00
Michael Eischer
53d15bcd1b
retry: add circuit breaker to load method
...
If a file exhausts its retry attempts, then it is likely not accessible
the next time. Thus, immediately fail all load calls for that file to
avoid useless retries.
2024-05-18 19:59:26 +02:00
Michael Eischer
394c8ca3ed
rest/rclone/s3/sftp/swift: move short file detection behind feature gate
...
These backends tend to use a large variety of server implementations.
Some of those implementations might prove problematic with the new
checks.
2024-05-18 19:59:26 +02:00
Michael Eischer
6328b7e1f5
replace "too small" with "too short" in error messages
2024-05-18 19:59:26 +02:00
Michael Eischer
53561474d9
update changelog with persistent backend error handling
2024-05-18 19:59:26 +02:00
Michael Eischer
aeb7eb245c
retry: do not retry permanent errors
...
This is currently gated behind a feature flag as some unexpected
interactions might show up in the wild.
2024-05-18 19:59:26 +02:00
Michael Eischer
bf8cc59889
Use generic backend-error-redesign feature flag instead of http-timeouts
...
An individual flag for each change of the backend error handling would
be too finegrained. Thus, add a generic flag.
2024-05-18 19:54:52 +02:00
Michael Eischer
4740528a0b
backend: add tests for IsPermanentError
2024-05-18 19:54:52 +02:00
Michael Eischer
6a85df7297
backend: add IsPermanentError() method to interface
2024-05-18 19:54:52 +02:00
Michael Eischer
cfc420664a
mem: stricter handling of out of bounds requests
2024-05-18 19:54:52 +02:00
Michael Eischer
d40f23e716
azure/b2/gs/s3/swift: adapt cloud backend
2024-05-18 19:54:51 +02:00
Michael Eischer
e793c002ec
local: stricter handling of short files
2024-05-18 19:54:21 +02:00
Michael Eischer
b4895ebd76
rest: rework error reporting and report too short files
2024-05-18 19:54:21 +02:00
Michael Eischer
eaa3f81d6b
sftp: check for truncated files without an extra backend request
2024-05-18 19:54:21 +02:00
Michael Eischer
c6d74458ee
sftp: improve handling of too short files
2024-05-18 19:54:21 +02:00
aneesh-n
43bc304e42
Add unreleased changelog
2024-05-17 14:54:25 -06:00
aneesh-n
9d1b23964d
Update comment for licensing
2024-05-17 14:19:05 -06:00
aneesh-n
5cff6e084e
Add support for Windows EA in node
...
Refactor Extended Attribute related functions in node files as windows apis get and set EA in bulk
2024-05-17 14:18:20 -06:00
aneesh-n
d6708505b9
Add helpers for Windows Extended Attributes
2024-05-17 14:15:03 -06:00
Michael Eischer
7ed560a201
Merge pull request #4796 from MichaelEischer/parallel-dump-load
...
dump: Parallelize loading large files
2024-05-14 22:35:44 +02:00
Michael Eischer
92221c2a6d
Merge pull request #4708 from zmanda/windows-securitydesc
...
Back up and restore SecurityDescriptors on Windows
2024-05-12 14:14:39 +00:00
Michael Eischer
b5fdb1d637
Merge pull request #4782 from MichaelEischer/fix-sftp-performance
...
Fix sftp upload performance
2024-05-12 15:28:33 +02:00
Michael Eischer
e4f9bce384
Merge pull request #4792 from restic/request-watchdog
...
backend: enforce that backend HTTP requests make progress
2024-05-09 23:55:30 +02:00
Michael Eischer
3740700ddc
add http timeouts to changelog
2024-05-09 23:46:17 +02:00
Michael Eischer
ebd01a4675
backend: add tests for watchdogRoundTripper
2024-05-09 23:46:17 +02:00
Michael Eischer
8778670232
backend: cancel stuck http requests
...
requests that make no upload or download progress within a timeout are
canceled.
2024-05-09 23:46:17 +02:00
Michael Eischer
0987c731ec
backend: configure protocol-level connection health checks
...
This should detect a connection that is stuck for more than 2 minutes.
2024-05-09 23:46:17 +02:00
aneesh-n
a4fd1b91e5
Fix review comments
...
Change lowerPrivileges from bool to atomic.Bool.
Add missing cleanup from upstream go-winio.
Add handling for ERROR_NOT_ALL_ASSIGNED warning.
2024-05-06 16:54:08 -06:00
Michael Eischer
e184538ddf
dump: add changelog
2024-05-05 12:12:21 +02:00
Michael Eischer
4d55a62ada
bloblru: add test for GetOrCompute
2024-05-05 12:00:25 +02:00
Michael Eischer
7cce667f92
fuse: switch to use bloblru.GetOrCompute
2024-05-05 11:38:42 +02:00
Michael Eischer
bd03af2feb
dump: add GetOrCompute to bloblru cache
2024-05-05 11:38:42 +02:00
Michael Eischer
45509eafc8
dump: load blobs of a file from repository in parallel
2024-05-05 11:38:42 +02:00
Michael Eischer
24c1822220
Merge pull request #4794 from flow-c/master
...
Update 060_forget.rst
2024-05-04 08:25:06 +00:00
flow-c
d4477a5a99
Update 060_forget.rst
...
Replace deprecated `-1` with `unlimited` in calendar-related `--keep-*` options
2024-05-04 09:32:25 +02:00
Michael Eischer
ffe5439149
Merge pull request #4605 from MichaelEischer/better-restorer-error-handling
...
Rework repository.StreamPacks & better restorer error handling
2024-05-01 16:37:41 +02:00
Michael Eischer
676f0dc60d
add changelog
2024-05-01 16:28:57 +02:00
Michael Eischer
1e57057953
Merge pull request #4789 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.3.2
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.3.1 to 1.3.2
2024-05-01 10:45:47 +00:00
Michael Eischer
1ba0af6993
Merge pull request #4787 from restic/dependabot/go_modules/github.com/klauspost/compress-1.17.8
...
build(deps): bump github.com/klauspost/compress from 1.17.7 to 1.17.8
2024-05-01 10:44:33 +00:00
Michael Eischer
ffc41ae62a
Merge pull request #4786 from restic/dependabot/go_modules/golang.org/x/net-0.24.0
...
build(deps): bump golang.org/x/net from 0.23.0 to 0.24.0
2024-05-01 10:41:26 +00:00
Michael Eischer
4832c2fbfa
Merge pull request #4790 from restic/dependabot/github_actions/golangci/golangci-lint-action-5
...
build(deps): bump golangci/golangci-lint-action from 4 to 5
2024-05-01 10:37:37 +00:00
dependabot[bot]
30609ae6b2
build(deps): bump golangci/golangci-lint-action from 4 to 5
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-01 01:45:43 +00:00
dependabot[bot]
502e5867a5
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.3.1...sdk/storage/azblob/v1.3.2 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-01 01:02:39 +00:00
dependabot[bot]
18a6d6b408
build(deps): bump github.com/klauspost/compress from 1.17.7 to 1.17.8
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.7 to 1.17.8.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.7...v1.17.8 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-01 01:02:22 +00:00
dependabot[bot]
3bb88e8307
build(deps): bump golang.org/x/net from 0.23.0 to 0.24.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/net/compare/v0.23.0...v0.24.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-01 01:02:11 +00:00
aneesh-n
672f6cd776
Fix review comments for privileges and security flags
2024-04-29 17:29:51 -06:00
aneesh-n
08c6945d61
Fix review comments
2024-04-29 16:21:38 -06:00
Aneesh N
3f76b902e5
Merge branch 'master' into windows-securitydesc
2024-04-29 14:40:34 -06:00
Michael Eischer
ccac7c7fb3
Merge pull request #3067 from DRON-666/vss-options
...
Add options to fine tune VSS snapshots
2024-04-29 18:09:47 +00:00
DRON-666
ccd35565ee
s/sec./seconds
2024-04-29 01:48:22 +03:00
DRON-666
125dba23c5
Rearange code
2024-04-29 01:27:34 +03:00
DRON-666
7ee889bb0d
Use S_FALSE and MaxInt
2024-04-29 01:25:25 +03:00
DRON-666
90b168eb6c
isMountPointExcluded to isMountPointIncluded
2024-04-29 01:23:50 +03:00
DRON-666
24330c19a8
Use kebab case in option names
2024-04-29 01:21:33 +03:00
DRON-666
5703e5a652
Fix texts and comments
2024-04-29 01:18:46 +03:00
DRON-666
0a8f9c5d9c
vss: Add tests for "provider" option
2024-04-28 22:45:21 +03:00
DRON-666
739d3243d9
vss: Update docs and changelog
2024-04-28 22:45:21 +03:00
DRON-666
bb0f93ef3d
vss: Add "provider" option
2024-04-28 22:45:21 +03:00
DRON-666
3bac1f0135
vss: Fix issues reported by linters
2024-04-28 22:45:21 +03:00
DRON-666
88c509e3e9
vss: Change ErrorHandler signature
...
We don't need `error` here: the only existing implementation
of `ErrorHandler` always call `Backup.Error` and all
implementations of `Backup.Error` always return nil.
2024-04-28 22:44:16 +03:00
DRON-666
9d3d915e2c
vss: Add some tests
2024-04-28 22:44:16 +03:00
DRON-666
9182e6bab5
vss: Update docs and changelog
2024-04-28 22:44:16 +03:00
DRON-666
c4f67c0064
vss: Add volume filtering
...
Add options to exclude all mountpoints and arbitrary volumes from snapshotting.
2024-04-28 22:44:15 +03:00
DRON-666
7470e5356e
vss: Add "timeout" option
...
Changing multiple "callAsyncFunctionAndWait" with fixed timeout
to calculated timeout based on deadline.
2024-04-28 22:44:15 +03:00
DRON-666
78dbc5ec58
vss: Add initial support for extended options
2024-04-28 22:44:15 +03:00
Michael Eischer
a1d682ce0e
add changelog for sftp performance fix
2024-04-28 11:58:08 +02:00
Michael Eischer
935327d480
sftp: slightly increase write concurrency
...
This should increase upload throughput for high latency links a bit.
2024-04-28 11:50:09 +02:00
Michael Eischer
669a669603
sftp: Fix upload performance issue
...
Since pkg/sftp 1.13.0 files were uploaded sequentially using 32kb chunks
instead of sending 64 chunks in parallel.
2024-04-28 11:48:26 +02:00
Michael Eischer
faffd15d13
Merge pull request #4734 from maouw/enhancement/envvar-for-host
...
Add support for specifying --host via environment variable
2024-04-24 20:00:15 +00:00
Michael Eischer
347e9d0765
complete RESITC_HOST environment handling & test
2024-04-24 21:52:39 +02:00
Altan Orhon
871ea1eaf3
Add support for specifying --host via environment variable
...
This commit adds support for specifying the `--host` option via the `RESTIC_HOST` environment variable. This is done by extending option processing in `cmd_backup.go` and for `restic.SnapshotFilter` in `find.go`.
2024-04-24 21:49:42 +02:00
Michael Eischer
a7b5e09902
Merge pull request #4753 from MichaelEischer/remove-cleanup-handlers
...
Replace cleanup handlers with context based command cancelation
2024-04-24 21:34:19 +02:00
Michael Eischer
3f9d50865d
Merge pull request #4776 from MichaelEischer/cleanup-backend-open
...
unify backend open and create
2024-04-24 21:24:27 +02:00
Michael Eischer
5f263752d7
init: also apply limiter for non-HTTP backend
2024-04-24 20:42:30 +02:00
Michael Eischer
484dbb1cf4
get rid of a few global variables
2024-04-22 22:39:33 +02:00
Michael Eischer
940a3159b5
let index.Each() and pack.Size() return error on canceled context
...
This forces a caller to actually check that the function did complete.
2024-04-22 22:39:32 +02:00
Michael Eischer
31624aeffd
Improve command shutdown on context cancellation
2024-04-22 22:31:38 +02:00
Michael Eischer
910927670f
mount: fix exit code on cancellation
2024-04-22 22:27:19 +02:00
Michael Eischer
6f2a4dea21
remove global shutdown hook
2024-04-22 22:27:19 +02:00
Michael Eischer
699ef5e9de
debug: replace cleanup handler usage in profiling setup
2024-04-22 22:27:19 +02:00
Michael Eischer
eb710a28e8
use standalone shutdown hook for readPasswordTerminal
...
move terminal restoration into readPasswordTerminal
2024-04-22 22:27:19 +02:00
Michael Eischer
86c7909f41
mount: use standalone shutdown hook via goroutine
2024-04-22 22:27:19 +02:00
Michael Eischer
93135dc705
lock: drop cleanup handler
2024-04-22 22:27:19 +02:00
Michael Eischer
21a7cb405c
check: replace cleanup handler
2024-04-22 22:27:19 +02:00
Michael Eischer
b15d867414
Merge pull request #4763 from MichaelEischer/refactor-prune
...
Refactor repair index / prune into the repository package
2024-04-22 22:24:53 +02:00
Michael Eischer
2e6c43c695
Merge pull request #4761 from MichaelEischer/fix-cache-race
...
cache: ignore ErrNotExist during cleanup of old files
2024-04-22 21:46:06 +02:00
Michael Eischer
f7632de3d6
Merge pull request #4772 from MichaelEischer/better-error-on-too-large-blob
...
repository: Better error message if blob is larger than 4GB
2024-04-22 21:45:06 +02:00
Michael Eischer
20d8eed400
repository: streamPack: separate requests for gap larger than 1MB
...
With most cloud providers, traffic is much more expensive than API
calls. Thus slightly bias streamPack towards a bit more API calls in
exchange for slightly less traffic.
2024-04-22 21:21:23 +02:00
Michael Eischer
cf700d8794
repository: streamPack: reuse zstd decoder
2024-04-22 21:21:23 +02:00
Michael Eischer
666a0b0bdb
repository: streamPack: replace streaming with chunked download
...
Due to the interface of streamPack, we cannot guarantee that operations
progress fast enough that the underlying connections remains open. This
introduces partial failures which massively complicate the error
handling.
Switch to a simpler approach that retrieves the pack in chunks of 32MB.
If a blob is larger than this limit, then it is downloaded separately.
To avoid multiple copies in memory, an auxiliary interface
`discardReader` is introduced that allows directly accessing the
downloaded byte slices, while still supporting the streaming used by the
`check` command.
2024-04-22 21:21:23 +02:00
Michael Eischer
621012dac0
repository: Add blob loading fallback to LoadBlobsFromPack
...
Try to retrieve individual blobs via LoadBlob if streaming did not work.
2024-04-21 21:35:55 +02:00
Michael Eischer
6c6dceade3
global: unify backend open and create
2024-04-19 22:26:14 +02:00
Michael Eischer
10355c3fb6
repository: Better error message if blob is larger than 4GB
2024-04-19 22:00:35 +02:00
Michael Eischer
228b35f074
Merge pull request #4769 from will-ca/patch-1
...
Tiny wording clarification in `restic-stats.1`.
2024-04-18 19:00:39 +00:00
will-ca
6aced61c72
Tiny docs wording clarification.
2024-04-18 07:29:55 +00:00
Michael Eischer
4d22412e0c
Merge pull request #4766 from coderwander/master
...
Fix struct names
2024-04-18 06:18:19 +00:00
coderwander
a82ed71de7
Fix struct names
...
Signed-off-by: coderwander <770732124@qq.com >
2024-04-18 10:02:09 +08:00
Michael Eischer
2173c69280
Merge pull request #4770 from testwill/close_files
...
fix: close files
2024-04-17 16:50:20 +00:00
Michael Eischer
001bb71676
repair packs: Properly close backup files
2024-04-17 18:32:30 +02:00
Michael Eischer
c9191ea72c
forget: cleanup verbose output on snapshot deletion error
2024-04-14 14:17:40 +02:00
Michael Eischer
09587e6c08
repository: duplicate a few blobs in prune tests
2024-04-14 13:57:19 +02:00
Michael Eischer
defd7ae729
prune/repair index: reset in-memory index after command
...
The current in-memory index becomes stale after prune or repair index
have run. Thus, just drop the in-memory index altogether once these
commands have finished.
2024-04-14 13:46:24 +02:00
Michael Eischer
038586dc9d
repository: add minimal test for prune
2024-04-14 13:45:17 +02:00
Michael Eischer
d8622c86eb
prune: clean up internal interface
2024-04-14 13:45:15 +02:00
Michael Eischer
8d507c1372
repository: add basic test for RepairIndex
2024-04-14 13:45:15 +02:00
Michael Eischer
310db03c0e
repair index: improve log output if index cannot be deleted
...
The operation will always fail with an error if an index cannot be
deleted. Thus, this change is purely cosmetic.
2024-04-14 13:45:13 +02:00
Michael Eischer
7d1b9cde34
repository: use normal Init method in tests
2024-04-14 13:45:11 +02:00
Michael Eischer
b25fc2c89d
repository: remove redundant flushes from tests
2024-04-14 13:45:10 +02:00
Michael Eischer
c65459cd8a
repository: speed up tests
2024-04-14 13:45:10 +02:00
Michael Eischer
eda9f7beb4
ui/progress: add helper to print messages during tests
2024-04-14 13:45:08 +02:00
Michael Eischer
35277b7797
backend/mem: cleanup not found error message
2024-04-14 13:45:06 +02:00
Michael Eischer
7ba5e95a82
check: allow tests to only verify pack&index integrity
2024-04-14 13:45:04 +02:00
Michael Eischer
4c9a10ca37
repair packs: deduplicate index rebuild
2024-04-14 13:45:02 +02:00
Michael Eischer
85e4021619
prune: move additional option checks to repository
2024-04-14 13:44:58 +02:00
Michael Eischer
55d56db31b
Merge pull request #4743 from MichaelEischer/deprecate-s3legacy-layout
...
Deprecate s3legacy layout
2024-04-11 22:09:34 +02:00
Michael Eischer
fc3b548625
prune: move logic into repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
df9d4b455d
prune: prepare for moving code to repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
866ddf5698
repair index: refactor code into repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
32a234b67e
prune/forget/repair index: convert output to use progress.Printer
2024-04-10 21:30:52 +02:00
Michael Eischer
739d11c2eb
forget: replace usage of DeleteFilesChecked
...
This simplifies refactoring prune into the repository package.
2024-04-10 21:30:52 +02:00
Michael Eischer
591b421c4a
Deprecate s3legacy layout
2024-04-10 21:27:56 +02:00
Michael Eischer
8efc3a8b7d
Merge pull request #4668 from MichaelEischer/backup-xattr-parent-enoperm
...
backup: Ignore xattr.list permission error for parent directories
2024-04-10 21:25:28 +02:00
Michael Eischer
bf054c09d2
backup: Ignore xattr.list permission error for parent directories
...
On FreeBSD, limited users may not be able to even list xattrs for the
parent directories above the snapshot source paths. As this can cause
the backup to fail, just ignore those errors.
2024-04-10 20:46:15 +02:00
Michael Eischer
0747cf5319
cache: ignore ErrNotExist during cleanup of old files
...
Two restic processes running concurrently can try to remove the same
files from the cache. This could cause one process to fail with an error
if the other one has already remove a file that the current process also
tries to delete.
2024-04-10 19:25:51 +02:00
Michael Eischer
6091029fd6
Merge pull request #4756 from mgeisler/patch-1
...
doc: fix typo in 047_tuning_backup_parameters.rst
2024-04-07 19:24:09 +00:00
Martin Geisler
09d2183351
doc: fix typo in 047_tuning_backup_parameters.rst
2024-04-07 18:05:53 +02:00
Michael Eischer
a4b7ebecfc
Merge pull request #4750 from restic/dependabot/go_modules/cloud.google.com/go/storage-1.40.0
...
build(deps): bump cloud.google.com/go/storage from 1.39.0 to 1.40.0
2024-04-03 20:10:41 +00:00
dependabot[bot]
ba136b31b8
build(deps): bump cloud.google.com/go/storage from 1.39.0 to 1.40.0
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.39.0...spanner/v1.40.0 )
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-03 20:03:22 +00:00
Michael Eischer
f328111a6e
Merge pull request #4751 from restic/dependabot/go_modules/golang.org/x/net-0.23.0
...
build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0
2024-04-03 19:52:29 +00:00
Michael Eischer
9fb017e67a
Merge pull request #4745 from MichaelEischer/full-id-key-list
...
key list: include full key id in JSON output
2024-04-03 21:50:02 +02:00
Michael Eischer
49f98f25fc
Merge pull request #4742 from MichaelEischer/consistent-rtest-import
...
Use consistent alias for interal/test package
2024-04-03 21:47:32 +02:00
dependabot[bot]
96c602a6de
build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.21.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.21.0...v0.23.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-03 19:41:38 +00:00
Michael Eischer
1d0a20dd58
Merge pull request #4748 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/azcore-1.10.0
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.9.2 to 1.10.0
2024-04-03 19:34:47 +00:00
Michael Eischer
6cca1d5705
Merge pull request #4655 from ae-govau/unixsocket
...
Enhancement: option to send HTTP over unix socket
2024-04-03 19:29:21 +00:00
dependabot[bot]
f8a72ac2a3
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go ) from 1.9.2 to 1.10.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.9.2...sdk/azcore/v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-01 02:32:19 +00:00
Michael Eischer
5145c8f9c0
key list: include full key id in JSON output
2024-03-31 12:25:20 +02:00
Michael Eischer
831fc4413d
Merge pull request #4737 from stephan0307/3117
...
json output forget command: added id's in snapshots within reasons object
2024-03-29 13:11:24 +00:00
Stephan Paul
df07814ec2
forget json output: added id's in snapshots within reasons object
...
In order to evaluate the keep reasons for snapshots, there should be also the id's
to compare it with snapshots within the keep object. (See also Issue #3117 )
In order to avoid output parameters also changed function addJSONSnapshots to asJSONSnapshots
2024-03-29 11:30:00 +01:00
Michael Eischer
ec2b79834a
use consistent alias for interal/test package
2024-03-29 00:24:03 +01:00
Michael Eischer
510f6f06b0
Merge pull request #4709 from MichaelEischer/refactor-locking
...
Refactor locking into repository package
2024-03-28 23:53:09 +01:00
Michael Eischer
07eb6c315b
add changelog for locking refactor
2024-03-28 23:46:58 +01:00
Michael Eischer
5e98f1e2eb
repository: fix test setup race conditions
2024-03-28 23:17:02 +01:00
Michael Eischer
8155dbe711
correctly lock repository in integration tests
2024-03-28 23:17:02 +01:00
Michael Eischer
d18726cd70
ls: add missing read lock
...
As `ls` reads data from the repository, it must acquire a read lock
unless `--no-lock` was specified. The old behavior is equivalent to `ls
--no-lock`.
2024-03-28 23:17:02 +01:00
Michael Eischer
dc441c57a7
repository: unify repository initialization in tests
...
Tests should use a helper from internal/repository/testing.go to
construct a Repository object.
2024-03-28 23:17:02 +01:00
Michael Eischer
3ba1fa3cee
repository: remove a few global variables
2024-03-28 23:17:02 +01:00
Michael Eischer
044e8bf821
repository: parallelize lock tests
2024-03-28 23:17:02 +01:00
Michael Eischer
e8df50fa3c
repository: remove global list of locks
2024-03-28 22:46:33 +01:00
Michael Eischer
cbb5f89252
lock: move code to repository package
2024-03-28 22:46:33 +01:00
Michael Eischer
118a69a84b
lock: replace lockRepo(Exclusive) with openWith(Read/Write/Exclusive)Lock
...
The new functions much better convey the intent behind the lock
request. This allows cleanly integrating noLock (for read) and dryRun
(write/exclusive) handling.
There are only minor changes to existing behavior with two exceptions:
- `tag` no longer accepts the `--no-lock` flag. As it replaces files in
the repository, this always requires an exclusive lock.
- `debug examine` now returns an error if both `--extract-pack` and
`--no-lock` are given.
2024-03-28 22:46:33 +01:00
Michael Eischer
7f9ad1c3db
Merge pull request #4705 from MichaelEischer/snapshot-statistics
...
Store snapshot statistics & print snapshot size
2024-03-28 22:41:45 +01:00
Michael Eischer
71b6284155
Merge pull request #4006 from MichaelEischer/deviceID-only-for-hardlinks
...
archiver: only store deviceID for hardlinks
2024-03-28 22:33:28 +01:00
Michael Eischer
cf81f8ced6
stats: only check for hardlinks for files with more than one link
2024-03-28 21:29:27 +01:00
Michael Eischer
21cf38fe96
add changelog for deviceID only for hardlinks
2024-03-28 19:32:50 +01:00
Michael Eischer
d705741571
backup: test that deviceID is only stored for hardlinks
2024-03-28 19:32:50 +01:00
Michael Eischer
a9b3d86c4f
features: remove example feature
2024-03-28 19:12:07 +01:00
Michael Eischer
a26d6ffa72
archiver: move deviceID handling behind feature flag
2024-03-28 19:12:07 +01:00
Michael Eischer
2ba21fe72b
archiver: only store deviceID for hardlinks
...
The deviceID can change e.g. when backing up from filesystem snapshot.
It is only used for hardlink detection. Thus there it is not necessary
to store it for everything else.
2024-03-28 19:12:07 +01:00
Michael Eischer
870904d3ae
Merge pull request #4731 from facutuesca/powershell-completion-doc
...
doc: Add instructions to configure PowerShell completions
2024-03-28 17:46:55 +00:00
Facundo Tuesca
15555c9898
doc: Use consistent case for PROFILE env variable in PowerShell
2024-03-28 18:35:18 +01:00
Michael Eischer
63a2350c9e
Merge pull request #4741 from MichaelEischer/ci-upgrade-golangci-lint
...
CI: Update golangci-lint to version 1.57.1
2024-03-28 18:27:05 +01:00
Michael Eischer
8876e3025b
Merge pull request #4724 from MichaelEischer/disable-old-index
...
Deprecated legacy index format
2024-03-28 18:24:47 +01:00
Michael Eischer
4f4979f4e8
Merge pull request #4740 from MichaelEischer/ci-upgrade-docker-actions
...
CI: update docker actions
2024-03-28 18:16:38 +01:00
Michael Eischer
1497525e15
CI: Update golangci-lint to version 1.57.1
2024-03-28 18:15:50 +01:00
Michael Eischer
a8face3a25
Merge pull request #4739 from MichaelEischer/ci-allow-annotations
...
CI: Allow golangci-lint to annotate PRs
2024-03-28 18:02:16 +01:00
Michael Eischer
aee6d311f1
CI: update docker actions
2024-03-28 18:01:48 +01:00
Michael Eischer
6ac7519188
add changelog for rest unix socket support
2024-03-28 17:41:41 +01:00
Michael Eischer
add37fcd9f
CI: uses rest-server from master branch until unix sockets are released
2024-03-28 17:41:41 +01:00
Adam Eijdenberg
6e775d3787
Enhancement: option to send HTTP over unix socket
...
add tests for unix socket connection
switch HTTP rest-server test to use any free port
allow rest-server test graceful shutdown opportunity
2024-03-28 17:41:41 +01:00
Michael Eischer
5c4a4b4a30
CI: Allow golangci-lint to annotate PRs
2024-03-28 17:09:59 +01:00
Michael Eischer
d1d773cfcd
Merge pull request #4727 from avoidalone/master
...
fix some typos
2024-03-17 18:52:40 +00:00
Facundo Tuesca
521713fc94
doc: Add instructions to configure PowerShell completions
2024-03-16 18:54:27 +01:00
avoidalone
ac948fccda
fix some typos
...
Signed-off-by: avoidalone <wuguangdong@outlook.com >
2024-03-11 14:35:12 +08:00
rawtaz
9284f7413a
Merge pull request #4725 from leoheitmannruiz/master
...
Minor README.md cleanups
2024-03-10 12:24:07 +00:00
rawtaz
1287b977b4
Merge pull request #4726 from leoheitmannruiz/patch-1
...
Capitalize Homebrew and minor edit in wording
2024-03-10 12:23:48 +00:00
Leo Heitmann Ruiz
00f762373f
Capitalize Homebrew
2024-03-10 00:20:26 +01:00
Leo Heitmann Ruiz
9f3e1462c0
Minor README.md cleanups
2024-03-09 23:56:16 +01:00
Michael Eischer
69ca12d2eb
check: treat legacy index format as errors
2024-03-09 18:36:33 +01:00
Michael Eischer
98a6817d01
add changelog for legacy index deprecation
2024-03-09 18:35:00 +01:00
Michael Eischer
f8852f0eb6
repair index: fix deletion of legacy indexes
2024-03-09 18:21:22 +01:00
Michael Eischer
1a8bf358f1
index: deprecate legacy index format
2024-03-09 18:21:14 +01:00
Michael Eischer
396a61a992
Merge pull request #4666 from MichaelEischer/feature-flags
...
Implement feature flags
2024-03-09 17:36:29 +01:00
Michael Eischer
a9b64cd7ad
features: print warning for stable/depreacted feature flags
2024-03-09 17:29:52 +01:00
Michael Eischer
fe68d2cafb
add feature flag documentation
2024-03-09 17:29:52 +01:00
Michael Eischer
70839155f2
features: add tests
2024-03-09 17:29:52 +01:00
Michael Eischer
1c77c51a03
features: initialize based on RESTIC_FEATURES environment variable
2024-03-09 17:29:52 +01:00
Michael Eischer
5974a79497
features: add basic feature flag implementation
2024-03-09 17:29:52 +01:00
Michael Eischer
0589da60b3
Merge pull request #4717 from restic/dependabot/go_modules/cloud.google.com/go/storage-1.39.0
...
build(deps): bump cloud.google.com/go/storage from 1.37.0 to 1.39.0
2024-03-07 14:10:24 +00:00
dependabot[bot]
608116817b
build(deps): bump cloud.google.com/go/storage from 1.37.0 to 1.39.0
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.37.0 to 1.39.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.37.0...spanner/v1.39.0 )
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-07 13:59:23 +00:00
Michael Eischer
f742da8b2f
Merge pull request #4722 from konidev20/upgrade-docker-golang-base-image-to-1-22
...
docker: update the base image to golang:1.22-alpine
2024-03-07 13:44:48 +00:00
Michael Eischer
af1684743f
Merge pull request #4716 from restic/dependabot/go_modules/github.com/klauspost/compress-1.17.7
...
build(deps): bump github.com/klauspost/compress from 1.17.6 to 1.17.7
2024-03-07 13:41:46 +00:00
Michael Eischer
5b9de4d8b7
Merge pull request #4715 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.3.1
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.2.1 to 1.3.1
2024-03-07 13:40:44 +00:00
Michael Eischer
fceef67abe
Merge pull request #4718 from restic/dependabot/go_modules/github.com/spf13/cobra-1.8.0
...
build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0
2024-03-07 13:37:17 +00:00
Michael Eischer
8506cae710
Merge pull request #4714 from restic/dependabot/github_actions/golangci/golangci-lint-action-4
...
build(deps): bump golangci/golangci-lint-action from 3 to 4
2024-03-07 13:34:21 +00:00
Michael Eischer
87d47ef189
Merge pull request #4713 from restic/dependabot/github_actions/docker/login-action-5139682d94efc37792e6b54386b5b470a68a4737
...
build(deps): bump docker/login-action from 3d58c274f17dffee475a5520cbe67f0a882c4dbb to 5139682d94efc37792e6b54386b5b470a68a4737
2024-03-07 13:33:49 +00:00
Michael Eischer
55abf25ea8
Merge pull request #4719 from restic/dependabot/go_modules/golang.org/x/oauth2-0.17.0
...
build(deps): bump golang.org/x/oauth2 from 0.16.0 to 0.17.0
2024-03-07 13:32:36 +00:00
Srigovind Nayak
b48b1fa2c9
docker: update the base image to golang:1.22-alpine
2024-03-03 16:18:13 +05:30
dependabot[bot]
8e7f29ae28
build(deps): bump golang.org/x/oauth2 from 0.16.0 to 0.17.0
...
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2 ) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.16.0...v0.17.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-03-01 01:25:47 +00:00
dependabot[bot]
79e8ddac3f
build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-01 01:25:41 +00:00
dependabot[bot]
b5a9b5d0bc
build(deps): bump github.com/klauspost/compress from 1.17.6 to 1.17.7
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.6 to 1.17.7.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.6...v1.17.7 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-01 01:25:00 +00:00
dependabot[bot]
f185c80cf0
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
...
Bumps [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.2.1...sdk/azcore/v1.3.1 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-01 01:24:46 +00:00
dependabot[bot]
70c8aaa303
build(deps): bump golangci/golangci-lint-action from 3 to 4
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-01 01:17:27 +00:00
dependabot[bot]
e1a588b75c
build(deps): bump docker/login-action
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3d58c274f17dffee475a5520cbe67f0a882c4dbb to 5139682d94efc37792e6b54386b5b470a68a4737.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](3d58c274f1...5139682d94 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-01 01:17:20 +00:00
Michael Eischer
e71660cd1e
backup: rename data_added_in_repo statistic to data_added_packed
2024-02-25 20:40:52 +01:00
Aneesh Nireshwalia
062d408987
Clean up SecurityDescriptor helper
2024-02-24 14:23:04 -07:00
Aneesh Nireshwalia
5764300022
Add changelog and fix lint error
2024-02-24 13:47:49 -07:00
Aneesh Nireshwalia
c0a1b9ada5
Update docs for security descriptors
2024-02-24 13:28:18 -07:00
Aneesh Nireshwalia
90916f53de
Add test cases for security descriptors
2024-02-24 13:27:01 -07:00
Aneesh Nireshwalia
70cf8e3788
Add support for backup/restore of security descriptors
2024-02-24 13:25:28 -07:00
Aneesh Nireshwalia
e3e59fef24
Fix CombineErrors and fillExtendedAttr error handling
2024-02-24 13:22:34 -07:00
Aneesh Nireshwalia
09ce1b4e58
Create helper for SecurityDescriptor related functions
2024-02-24 13:16:25 -07:00
Michael Eischer
6a13e451b1
document snapshot statistics
2024-02-23 22:32:04 +01:00
Michael Eischer
a8f5684f68
archiver: test statistics in snapshot
2024-02-23 22:05:15 +01:00
Michael Eischer
681395955e
archiver: test backup summary calculation
2024-02-23 21:46:39 +01:00
Michael Eischer
b6520038fd
snapshots: Print snapshot size stored in snapshots
2024-02-23 20:27:13 +01:00
Michael Eischer
38f91d3b5e
backup: store statistics in snapshot
2024-02-23 20:27:13 +01:00
Michael Eischer
86897314d5
backup: expose data_added_in_repo in JSON output
...
The value describes how much data was added after compression.
Previously, it was only available in the text output.
2024-02-23 20:27:13 +01:00
Michael Eischer
a59f654fa6
archiver: refactor summary collection from ui into the archiver
2024-02-23 20:27:13 +01:00
Michael Eischer
8b1a85711f
archiver: unexport save/saveDir/saveTree methods
2024-02-23 20:24:21 +01:00
Michael Eischer
b953dc8f58
Merge pull request #4611 from zmanda/windows-metadata-support
...
Back up and restore windows metadata like created ts, file attribs like hidden, readonly, encrypted with a common extensible mechanism
2024-02-23 18:16:09 +00:00
Aneesh Nireshwalia
e8211cb64a
Add changelog and update docs for windows attr
2024-02-22 17:59:56 -07:00
Aneesh Nireshwalia
4bbd25a37f
Add tests for generic attribute changes
2024-02-22 17:55:50 -07:00
Aneesh Nireshwalia
d4be734c73
Handle readonly empty files in windows
2024-02-22 17:54:43 -07:00
Aneesh Nireshwalia
eeb1aa5388
Add ability to report warnings to terminal
...
Report warnings to terminal when unrecognized generic attributes are found in the repository.
2024-02-22 17:52:26 -07:00
Aneesh Nireshwalia
0962917974
Support windows metadata using generic attribs
...
Add new generic_attributes attribute in Node.
Use the generic attributes to add support for creation time and file attributes like hidden, readonly, encrypted in windows. Handle permission errors for readonly files in windows.
Handle backup and restore of encrypted attributes using windows system calls.
2024-02-22 17:31:20 -07:00
Aneesh Nireshwalia
62a8a599f1
Add optional messages for Equals helper
2024-02-22 16:58:12 -07:00
Aneesh Nireshwalia
94de87d4b7
Add CombineErrors helper function
2024-02-22 16:57:00 -07:00
Michael Eischer
c6311c1e32
Merge pull request #4703 from ferringb/master
...
Catch SIGTERM, run cleanup
2024-02-22 21:06:29 +00:00
Michael Eischer
0a65a0f94f
update comment
2024-02-22 22:00:42 +01:00
Brian Harring
b41107dcaf
Add changelog for SIGTERM bugfix.
...
Signed-off-by: Brian Harring <ferringb@gmail.com >
2024-02-19 11:31:48 +01:00
Brian Harring
30e979d252
Catch SIGTERM, run cleanup
...
The previous code only ran cleanup (lock release for example) on SIGINT. For
anyone running restic in a container, the signal is going to be SIGTERM which
means containerized execution would leave locks behind.
While this could be addressed via interposing dumb-init to translate the signal,
a `kill` invocation is going to default to SIGTERM, so the same problem exists
for non container users.
Signed-off-by: Brian Harring <ferringb@gmail.com >
2024-02-19 11:12:15 +01:00
Michael Eischer
cfbeb2cde5
Merge pull request #4701 from MichaelEischer/better-streampack-errors
...
repository: Improve StreamPack error messages
2024-02-18 16:57:56 +01:00
Michael Eischer
80754dbf0c
Merge pull request #4664 from MichaelEischer/ls-unified-json-output
...
ls: include standard `message_type` field in output
2024-02-18 15:47:41 +00:00
Michael Eischer
4c3218ef9f
repository: include packID in StreamPack for decrypt/decompress errors
2024-02-17 19:38:01 +01:00
Michael Eischer
18b0bbbf42
repository: use fmt.Errorf in StreamPacks
2024-02-17 19:37:32 +01:00
Michael Eischer
5dca8a70d5
ls: include standard message_type field in output
2024-01-27 15:48:24 +01:00