This post will serve as the roadmap for the CLI version. Only features mentioned below will be considered for development.
This post will remain closed to replies. Please continue the discussion of each feature in other threads (or create a new thread if there isn’t one).
Please note that the CLI is what powers the #web-ui, therefore most CLI optimisations will lead to a better overall experience for everyone.
Features to be worked on
Memory optimization – currently during the backup, the list of files in the local repository is loaded into memory and compared with the previous snapshot. This causes the memory usage to be proportional to the number of files. This comparison stage should be optimized to avoid loading the entire file list into memory and to generate metadata chunks on the fly.
Two pass scanning (aka bundle-or-chunk algorithm) from https://github.com/gilbertchen/duplicacy/pull/456 – this is to bundle small files together and split large files into chunks individually
configfile – the
configfile can be kept locally to increase the security. We’ll add a switch to the init/add command to enable this option.
-filtersoption to the
preferencesfile to allow for a different set of include/exclude patterns for each storage
Support zlib compression and make the compression level configurable (so it will be possible to disable compression)
Support multiple downloading threads for the copy command