Michael Eischer
4d6ab83019
rewrite: use treejsonbuilder
2022-11-12 19:55:22 +01:00
Michael Eischer
82592b88b5
rewrite: address most review comments
2022-11-12 19:55:22 +01:00
Michael Eischer
b922774343
rewrite: fix compilation
2022-11-12 19:55:22 +01:00
Dmitry Nezhevenko
dc29709742
Implement 'rewrite' command to exclude files from existing snapshots
2022-11-12 19:55:22 +01:00
Michael Eischer
6fa45d0d39
Merge pull request #4011 from greatroar/backup-stdin-password
...
cmd: Don't read password from stdin for backup --stdin
2022-11-12 19:18:56 +01:00
Michael Eischer
11a4bb051e
debug: fix crash in debug examine --reupload-blobs
2022-11-09 22:13:17 +01:00
greatroar
5dceadeb72
cmd: Don't read password from stdin for backup --stdin
2022-11-06 14:55:57 +01:00
Michael Eischer
24a2e5cab9
Merge pull request #4008 from MichaelEischer/tweak-lock-refresh-test
...
lock: Tweak timeouts for lock refresh test
2022-11-05 10:53:13 +01:00
Michael Eischer
aaac63da8d
lock: Tweak timeouts for lock refresh test
...
For some reason the test fails from time to time. Increase the timeouts
to hopefully avoid this issue.
2022-11-04 22:48:18 +01:00
Michael Eischer
fd4d23460f
only print compression level starting from repository version 2
2022-11-04 22:40:07 +01:00
Michael Eischer
59a90943bb
Merge pull request #3983 from greatroar/formatting
...
Centralize and fix formatting of bytes, percentages, durations
2022-10-31 18:52:24 +01:00
rawtaz
4f1fae9c98
Merge pull request #3982 from MichaelEischer/show-compression-mode
...
Show selected compression level when opening repository
2022-10-30 21:29:42 +01:00
Michael Eischer
47e05080a9
Merge pull request #3990 from MichaelEischer/lock-refresh-test
...
lock: add test to check that refreshing works
2022-10-30 10:15:44 +01:00
Michael Eischer
3b0bb02a68
Merge pull request #3977 from greatroar/progress
...
ui/backup: Replace channels with a mutex
2022-10-29 21:33:04 +02:00
Michael Eischer
24267e9a9d
lock: add test to check that refreshing works
2022-10-29 11:26:00 +02:00
Michael Eischer
8e51e1e605
shorten 'repository opened' output
2022-10-29 11:22:00 +02:00
Joonas Aunola
b06427c9f6
fix Unix to UnixNano
2022-10-23 23:40:21 +03:00
greatroar
006380199e
cmd, ui: Deduplicate formatting utilities
2022-10-23 13:40:07 +02:00
Michael Eischer
4fea3a413d
show selected compression level when opening repository
2022-10-22 20:18:46 +02:00
Michael Eischer
d966c52707
prune: allow gc of set of repacked blobs before index rebuild
2022-10-22 18:45:12 +02:00
Michael Eischer
68c9cb9c6a
prune: Shrink keepBlobs set if possible
...
As long as only a small fraction of the data in a repository is
rewritten, the keepBlobs set will be rather small after cleaning it up.
As golang maps do not shrink their memory usage, just copy the contents
over to a new map. However, only copy the map if the cleanup removed at
least half the entries.
2022-10-22 18:45:12 +02:00
Michael Eischer
c4fc5c97f9
prune: Use a single CountedBlobSet to track blobs
...
The set covers necessary, existing and duplicate blobs. This removes the
duplicate sets used to track whether all necessary blobs also exist.
This reduces the memory usage of prune by about 20-30%.
2022-10-22 18:45:12 +02:00
Michael Eischer
ee6688a9f6
Merge pull request #3915 from plumbeo/compression-stats
...
restic stats: print uncompressed size in mode raw-data
2022-10-21 22:10:29 +02:00
Michael Eischer
aa77702e49
Merge pull request #3971 from MichaelEischer/parallel-list
...
Unify ForAllIndex/Snapshot/Lock functions
2022-10-21 21:58:33 +02:00
Michael Eischer
6877aaa8aa
Merge pull request #3967 from MichaelEischer/archiver-extract-exclude-options
...
backup: extract exclude pattern options
2022-10-21 21:50:00 +02:00
Michael Eischer
59d46bb3f5
backup: extract exclude pattern options
...
This is a preparation to make the exclude options usable for the
upcoming `rewrite` command.
2022-10-21 21:40:59 +02:00
Michael Eischer
5c7a9a739a
backend: Split RetryBackend into own package
...
The RetryBackend tests depend on the mock backend. When the Backend
interface is eventually split from the restic package, this will lead to
a dependency cycle between backend and backend/mock. Thus split the
RetryBackend into a separate package to avoid this problem.
2022-10-21 21:38:17 +02:00
Michael Eischer
738b2a0445
parallelize more List usages
2022-10-21 21:26:45 +02:00
Michael Eischer
8e2695be0b
Merge pull request #3973 from MichaelEischer/speedup-integration-tests
...
speed-up integration tests by reducing the RetryBackend timeout
2022-10-21 21:17:35 +02:00
Michael Eischer
35d968bcde
Merge pull request #3969 from MichaelEischer/key-by-id
...
Port restic.Find to return IDs and identify keys by restic.ID
2022-10-21 21:15:40 +02:00
greatroar
201e5c7e74
backup: Clean up progress reporting code
2022-10-21 13:48:30 +02:00
plumbeo
bc945d0bf0
restic stats: add more compression statistics
...
Calculate and display compression ratio, space saving and progress
2022-10-17 15:38:38 +02:00
Michael Eischer
99547518cd
lock: fix flaky TestLockFailedRefresh
...
The comparison of the current time and the last lock refresh were using
seconds represented as integers. As the test only waits for up to one
second, the associated number truncation can cause the test to take
longer than once second and thus to fail.
Switch to nanoseconds to avoid this problem. This also slightly speeds
up the test.
2022-10-15 22:36:32 +02:00
Michael Eischer
e10420553b
speed-up integration tests by reducing the RetryBackend timeout
...
On my machine this decreases the runtime for `./cmd/restic` from 9.5s to
6.5s.
2022-10-15 22:29:58 +02:00
Michael Eischer
8d62a7adb4
identify keys by ID and not name
2022-10-15 16:07:43 +02:00
Michael Eischer
02634dce7a
restic: change Find to return ids
...
That way consumers no longer have to manually convert the returned name
to an id.
2022-10-15 16:06:54 +02:00
Michael Eischer
d8c00b9726
add comment
2022-10-15 13:34:21 +02:00
Michael Eischer
a3113c6097
restic: Change FindSnapshot functions to return the snapshot
2022-10-15 13:34:04 +02:00
Michael Eischer
fcad5e6f5d
backup: use unified FindFilteredSnapshot
2022-10-15 13:33:29 +02:00
Michael Eischer
0aa73bbd39
ls: proper error handling for non-existent snapshot
...
Use restic.FindFilteredSnapshot to resolve the snapshot ID. This ensures
consistent behavior for all commands using initSingleSnapshotFilterOptions.
2022-10-15 13:32:00 +02:00
Michael Eischer
a81f0432e9
restic: Add unified method to resolve a single snapshot
2022-10-15 13:31:45 +02:00
Michael Eischer
95a1bb4261
restic: Rework error handling of FindFilteredSnapshots and handle snapshotIDs
...
FindFilteredSnapshots no longer prints errors during snapshot loading on
stderr, but instead passes the error to the callback to allow the caller
to decide on what to do.
In addition, it moves the logic to handle an explicit snapshot list from
the main package to restic.
2022-10-15 13:31:26 +02:00
Michael Eischer
cff22a5f01
dump: use correct help text for filter options
2022-10-15 13:31:10 +02:00
greatroar
ba44666704
errors: Drop WithMessage
2022-10-14 14:06:47 +02:00
Michael Eischer
2e3f1c08c5
repository: split index into a separate package
2022-10-08 21:15:34 +02:00
Michael Eischer
f9d4e0c2af
Merge pull request #3958 from greatroar/errors
...
errors: Drop Cause in favor of Go 1.13 error handling
2022-10-08 18:06:35 +02:00
greatroar
07e5c38361
errors: Drop Cause in favor of Go 1.13 error handling
...
The only use cases in the code were in errors.IsFatal, backend/b2,
which needs a workaround, and backend.ParseLayout. The last of these
requires all backends to implement error unwrapping in IsNotExist.
All backends except gs already did that.
2022-10-08 13:08:08 +02:00
greatroar
4eae4d3e1a
cmd: Typo in --read-concurrency description
2022-10-08 11:27:39 +02:00
Michael Eischer
7c5d63a794
lock: Use the correct duration to check for expired locks
2022-10-07 22:39:53 +02:00
Michael Eischer
9197c63007
debug: use repository.ListPack wrapper
2022-10-03 12:09:08 +02:00