Conserve 0.6.4 2020-07-04
v0.6.4 2020-07-04
Features
- New
conserve restore --only SUBTREE
option restores only one subtree of the archive. Thanks to Francesco Gadaleta.
Performance improvements
conserve validate
is now significantly faster. Conserve remembers which blocks have been validated and what their uncompressed length is, and uses this when checking that file index entries are valid.
Behavior changes
Some rearrangements to the command-line grammar to make it more concise and consistent:
-
conserve debug
commands are now briefer:conserve debug index
,conserve debug referenced
,conserve debug blocks
. -
conserve source ls DIR
is nowconserve ls --source DIR
. -
conserve source size DIR
is nowconserve size --source DIR
. -
conserve tree size
is nowconserve size
. -
Obsolete global option
--ui
was removed. -
The short option for
conserve versions --short
is now-q
. -
The short option for
conserve versions --sizes
is now-z
.
Internal
-
Change to using structopt for option parsing.
-
Change to using thiserror for error enum construction.
-
Added a new
Transport
trait, abstracting the IO options for the Archive so that Conserve can in future also access archives over SFTP or in cloud storage. -
Add tests that Conserve can read and write archives written by older compatible versions. (At present, everything from the 0.6 series that changed the format.)
-
New simpler
Archive::backup
andArchive::restore
public APIs.
Archive format changes
Conserve 0.6.4 uses the same 0.6 archive version, with one compatible addition:
- BANDTAIL files contain an additional
index_hunk_count
to enableconserve validate
to check that no hunks are missing.