restic/internal/repository
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
..
testdata internal/repository: Fix LoadBlob + fuzz test 2022-06-06 17:02:28 +02:00
check.go repository: unwrap BlobHandle parameters of LookupBlob 2024-05-24 21:33:17 +02:00
doc.go gofmt all files 2022-08-19 19:12:26 +02:00
fuzz_test.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
key.go repository: move backend.LoadAll to repository.LoadRaw 2024-05-18 21:26:00 +02:00
lock.go repository: wait max 1 minutes for lock removal if context is canceled 2024-05-24 20:24:02 +02:00
lock_test.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
packer_manager.go prune: no longer disable automatic index updates 2024-05-24 21:33:17 +02:00
packer_manager_test.go repository: remove Packer and SavePacker from public interface 2024-05-24 21:33:17 +02:00
packer_uploader.go repository: remove Packer and SavePacker from public interface 2024-05-24 21:33:17 +02:00
prune.go index: replace Save() method with Rewrite and SaveFallback 2024-05-24 21:33:17 +02:00
prune_test.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
raw.go repository: make reloading broken files explicit 2024-05-18 21:28:54 +02:00
raw_test.go repository: rework and extend LoadRaw tests 2024-05-18 21:28:54 +02:00
repack.go repository: inline MasterIndex interface into Repository interface 2024-05-24 21:33:17 +02:00
repack_test.go repository: remove SaveIndex from interface 2024-05-24 21:33:17 +02:00
repair_index.go index: replace Save() method with Rewrite and SaveFallback 2024-05-24 21:33:17 +02:00
repair_index_test.go index: replace Save() method with Rewrite and SaveFallback 2024-05-24 21:33:17 +02:00
repair_pack.go index: replace Save() method with Rewrite and SaveFallback 2024-05-24 21:33:17 +02:00
repair_pack_test.go test cleanups 2024-05-24 21:33:17 +02:00
repository.go prune: no longer disable automatic index updates 2024-05-24 21:33:17 +02:00
repository_internal_test.go repository: convert test helper to return *repository.Repository 2024-05-18 21:38:31 +02:00
repository_test.go repository: unwrap BlobHandle parameters of LookupBlob 2024-05-24 21:33:17 +02:00
s3_backend.go migrations: add temporary hack for s3_layout 2024-05-18 21:38:31 +02:00
testing.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
upgrade_repo.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00
upgrade_repo_test.go remove usages of repo.Backend() from tests 2024-05-18 21:42:51 +02:00