restic/internal/dump
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
..
acl.go dump: Rewrite Linux ACL handling 2023-08-13 13:37:11 +02:00
acl_test.go dump: Rewrite Linux ACL handling 2023-08-13 13:37:11 +02:00
common.go data: replace Tree with TreeNodeIterator 2026-01-31 20:03:38 +01:00
common_test.go dump: fix missing error handling if tree cannot be read 2026-01-31 19:18:36 +01:00
tar.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
tar_test.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
zip.go data: split node and snapshot code from restic package 2025-10-03 19:10:39 +02:00
zip_test.go dump/zip: test that files are compressed 2024-10-16 21:11:24 +02:00