Michael Eischer
f032a9d0ad
prune: report how much data must be repacked to compressed the repo
...
prune now reports the remaining size of pack files containing
uncompressed blobs. The displayed value is suitable for use with `--max-repack-size`.
2022-11-12 20:20:23 +01:00
Michael Eischer
66818a8f98
Merge pull request #3980 from MichaelEischer/prune-compression-stats
...
prune: Correctly count used/duplicate blobs for partially compressed repos
2022-11-12 20:06:56 +01:00
Michael Eischer
bb0fa76c06
Cleanup exclude pattern collection
2022-11-12 19:55:22 +01:00
Michael Eischer
537cfe2e4c
rewrite: Fix check that an exclude pattern was passed
...
The old check did not consider files containing case insensitive
excludes. The check is now implemented as a function of the
excludePatternOptions struct to improve cohesion.
2022-11-12 19:55:22 +01:00
Leo R. Lundgren
f175da2756
rewrite: Polish documentation
2022-11-12 19:55:22 +01:00
Leo R. Lundgren
f86ef4d3dd
rewrite: Polish code and add missing messages
2022-11-12 19:55:22 +01:00
Michael Eischer
ec0c91e233
rewrite: Add tests for further ways to use the command
2022-11-12 19:55:22 +01:00
Michael Eischer
73f54cc5ea
rewrite: rename --inplace to --forget
2022-11-12 19:55:22 +01:00
Michael Eischer
a47d9a1c40
rewrite: use unified snapshot filter options
2022-11-12 19:55:22 +01:00
Michael Eischer
b044649118
rewrite: add minimal test
2022-11-12 19:55:22 +01:00
Michael Eischer
375a3db64d
rewrite: non-exclusive lock if snapshots are only added
2022-11-12 19:55:22 +01:00
Michael Eischer
327f418a9c
rewrite: cleanup err handling and output
2022-11-12 19:55:22 +01:00
Michael Eischer
ad14d6e4ac
rewrite: use SelectByName like in the backup command
2022-11-12 19:55:22 +01:00
Michael Eischer
7ebaf6e899
rewrite: start repository uploader goroutines
2022-11-12 19:55:22 +01:00
Michael Eischer
559acea0d8
unify exclude pattern options
2022-11-12 19:55:22 +01:00
Michael Eischer
4cace1ffe9
unify exclude patterns with backup command
2022-11-12 19:55:22 +01:00
Michael Eischer
2b69a1c53b
rewrite: filter all snapshots if none are specified
2022-11-12 19:55:22 +01:00
Michael Eischer
f6339b88af
rewrite: extract tree filtering
2022-11-12 19:55:22 +01:00
Michael Eischer
c0f7ba2388
rewrite: simplify dryrun
2022-11-12 19:55:22 +01:00
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
ba58ccbe07
prune: add remark about non-deterministic blob selection
2022-10-22 19:46:10 +02:00
Michael Eischer
05651d6d4f
prune: Correctly count used/duplicate blobs for partially compressed repos
...
Counting the first occurrence of a duplicate blob as used and counting
all other as duplicates, independent of which instance of the blob is
kept, is only accurate if all copies of the blob have the same size. This
is no longer the case for a repository containing both compressed and
uncompressed blobs.
Thus for duplicated blobs first count all instances as duplicates and
then subtract the actually used instance later on.
2022-10-22 19:24:36 +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