Michael Eischer
9e12159230
Fix O(n) backend list calls in FindFilteredSnapshots
...
When resolving snapshotIDs in FindFilteredSnapshots either
FindLatestSnapshot or FindSnapshot is called. Both operations issue a
list operation to the backend. When for example passing a long list of
snapshot ids to `forget` this could lead to a large number of list
operations.
2022-04-09 12:26:31 +02:00
Michael Eischer
3d29083e60
copy/find/ls/recover/stats: Memorize snapshot listing before index
...
These commands filter the snapshots according to some criteria which
essentially requires loading the index before filtering the snapshots.
Thus create a copy of the snapshots list beforehand and use it later on.
2022-04-09 12:26:30 +02:00
Michael Eischer
2ec0f3303a
backup/diff/dump/restore/stats: List snapshots before index
...
During a backup the index is written before the corresponding snapshots.
To ensure that a concurrent/later restic run can read a snapshot's data,
restic thus must first load the snapshots and only afterwards the index.
Otherwise it is not possible to ensure that the loaded index is recent
enough to cover all of the snapshot's data.
2022-04-09 12:24:09 +02:00
Michael Eischer
ece06f125e
sftp: Limit concurrent backend operations
2022-04-09 12:21:38 +02:00
Michael Eischer
cd783358d3
local: Limit concurrent backend operations
...
Use a limit of 2 similar to the filereader concurrency in the archiver.
2022-04-09 12:21:38 +02:00
Michael Eischer
0b258cc054
backends: clean reader closing
2022-04-09 12:21:38 +02:00
Alex Duchesne
9e34c791c9
Better temp file cleanup on Windows.
2022-04-09 12:00:22 +02:00
Alexander Neumann
7d55b4f95e
Merge pull request #3701 from restic/rawtaz-doc-exclude-cachedir
...
doc: Link to CACHEDIR.TAG specification
2022-04-08 09:35:08 +02:00
rawtaz
de4e3117eb
doc: Link to CACHEDIR.TAG specification
2022-04-08 03:07:27 +02:00
MichaelEischer
500079d265
Merge pull request #3689 from brightdroid/patch-1
...
added documentation for zsh autocompletion
2022-04-03 21:49:47 +02:00
Alexander Neumann
192288bc9c
Merge pull request #3696 from cqjjjzr/fix-win-procgrp
...
Fix rclone (scoop shim) and sftp issue due to detached console on Windows
2022-04-03 13:46:28 +02:00
Charlie Jiang
d9c9415cfd
Fix rclone (scoop shim) and sftp issue due to detached console on Windows
2022-04-03 17:53:17 +08:00
Alexander Neumann
59370b6062
Merge pull request #3695 from jernej-9/typo-fix
...
Fix a typo in the docs
2022-04-01 20:10:40 +02:00
Jernej Debevc
6e5731bf2f
Fix a typo in the docs
2022-04-01 17:16:55 +02:00
Alexander Neumann
305cd1e730
Merge pull request #3693 from greatroar/cast-btrfs-super-magic
...
Cast unix.Statfs_t.Type to int64 when checking for btrfs
2022-04-01 08:09:46 +02:00
greatroar
c23c0f7c14
Cast unix.Statfs_t.Type to int64 when checking for btrfs
...
Fixes #3687 . Uses the cast suggested by @MichaelEischer, except that the
contant isn't cast along, because it's untyped and will be converted by
the compiler as necessary.
2022-03-31 22:30:45 +02:00
Alexander Neumann
774c2e75ca
Merge pull request #3680 from restic/update-deps
...
Update all dependencies (except fuse), require Go 1.15
2022-03-30 21:36:08 +02:00
Alexander Neumann
66d50b72e3
Require Go 1.15 or later
...
The library github.com/golang-jwt/jwt/v4 requires the FillByte() method
of *big.Int, so we're raising the minimum Go version to 1.15.
2022-03-30 21:11:17 +02:00
Alexander Neumann
89d86a7933
Update all dependencies (except fuse)
2022-03-30 21:11:13 +02:00
Christoph Roeder
7510bdc247
added documentation for zsh autocompletion
2022-03-30 10:45:52 +02:00
Alexander Neumann
f190d2e60e
Merge pull request #3686 from restic/fix-diff
...
Fix diff
2022-03-30 07:43:07 +02:00
Alexander Neumann
206550a246
Fix diff
...
Nodes in trees were always printed with a `+` in diff, regardless of
whether or not a dir was added or removed. Let's use the mode we were
passed in printDir().
Closes #3685
2022-03-29 21:05:11 +02:00
Alexander Neumann
db8a958991
Merge pull request #3683 from MichaelEischer/fix-golangci-lint-warnings
...
Fix golangci lint warnings
2022-03-29 11:45:10 +02:00
Alexander Neumann
724ace0e99
Merge pull request #3682 from MichaelEischer/refactor-code
...
Pack size calculation cleanup and misc other changes
2022-03-29 11:06:04 +02:00
Michael Eischer
af31266b7d
golangci-lint: replace deprecated golint with revive
2022-03-28 22:33:17 +02:00
Michael Eischer
2f81af6afa
bloblru: Fix comment for New function
2022-03-28 22:25:25 +02:00
Michael Eischer
61e179ee78
switch to golang.org/x/term
2022-03-28 22:24:15 +02:00
Michael Eischer
c60540b196
add go:build headers everywhere
2022-03-28 22:23:47 +02:00
Michael Eischer
fefe9f5c0e
pack: Hide more implementation details
2022-03-28 22:12:16 +02:00
Michael Eischer
a773cb6527
pack: cleanup header size calculation
2022-03-28 22:09:49 +02:00
Michael Eischer
6408686973
repository: Simplify Blob equality check
2022-03-28 22:09:49 +02:00
Michael Eischer
243698680a
crypto: Use helpers for size calculations
2022-03-28 22:09:49 +02:00
Michael Eischer
d6db5a1fc2
archiver: Fix test
...
The test relied on an undeocumented sideeffect of the LoadBlob implementation
2022-03-28 22:09:49 +02:00
Michael Eischer
f78bd14e28
repository: Remove pack implementation details from MasterIndex
2022-03-28 22:09:49 +02:00
Michael Eischer
dc3d77dacc
repository: make saveAndEncrypt private
2022-03-28 22:09:49 +02:00
Michael Eischer
6877e7edbb
repository: Rename LoadAndDecrypt to LoadUnpacked
...
The method is the complement for SaveUnpacked and not for
SaveAndEncrypt. The latter assembles blobs into pack files.
2022-03-28 22:09:49 +02:00
Michael Eischer
2e1613d4c6
errors: Ensure that errors.IsFatal(errors.Fatal("err")) == true
...
This fixes a few cases where restic output "Fatal: Fatal: [...]"
2022-03-28 22:09:49 +02:00
Alexander Neumann
a08b95c497
Merge pull request #3513 from MichaelEischer/fast-copy
...
Speed-up copy command
2022-03-28 20:18:43 +02:00
Michael Eischer
537b4c310a
copy: Implement by reusing repack
...
The repack operation copies all selected blobs from a set of pack files
into new pack files. For prune the source and destination repositories
are identical. To implement copy, just use a different source and
destination repository.
2022-03-26 20:47:15 +01:00
Alexander Neumann
4d5db61bd0
Merge pull request #3484 from MichaelEischer/stream-check-repack
...
Stream packs in `check --read-data` and during repacking
2022-03-26 20:46:17 +01:00
Alexander Neumann
4ab12f59a5
Set development version for 0.13.0
2022-03-26 20:10:07 +01:00
Alexander Neumann
40791fff64
Add version for 0.13.0
2022-03-26 20:09:59 +01:00
Alexander Neumann
a53a4a23fd
Update manpages and auto-completion
2022-03-26 20:09:59 +01:00
Alexander Neumann
b567c08e80
Generate CHANGELOG.md for 0.13.0
2022-03-26 20:09:40 +01:00
Alexander Neumann
0ca89b6fec
Prepare changelog for 0.13.0
2022-03-26 20:09:39 +01:00
Alexander Neumann
d7e46c187a
Merge pull request #3678 from restic/changelogs
...
Review, reword and polish unreleased changelog entries
2022-03-26 19:44:30 +01:00
Alexander Neumann
6aefe3e111
Merge pull request #3677 from restic/3490-polish
...
check: Adjust help and documentation for check --read-data-subset
2022-03-26 19:34:51 +01:00
Leo R. Lundgren
03137a34db
Review, reword and polish unreleased changelog entries
2022-03-26 13:01:53 +01:00
Leo R. Lundgren
c7d637ec39
check: Adjust help and documentation for check --read-data-subset
2022-03-26 00:11:04 +01:00
Alexander Neumann
6087c4ad75
Merge pull request #3656 from lgommans/forget-security
...
forget: Update docs for readability and append-only considerations
2022-03-24 21:36:19 +01:00