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 Bundle or chunk by kairisku · Pull Request #456 · gilbertchen/duplicacy · GitHub – this is to bundle small files together and split large files into chunks individually
-
Local
config
file – theconfig
file can be kept locally to increase the security. We’ll add a switch to the init/add command to enable this option. -
Add a
-filters
option to thepreferences
file to allow for a different set of include/exclude patterns for each storage -
Allow the latest revision to be specified as
-r latest
– Restore latest version of a file and How to check only the latest revision? -
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
-
Support tag in the copy command: Support tags in copy command
-
A doc site based on readthedocs.io: Readthedocs.io - a great way to provide documentation
-
Add a
-dry-run
option to the copy command: "-dry-run" option for copy command missing?
Bugs to be fixed:
- Return an error code for unsupported commands: Duplicacy CLI command line does not return error on unknown commands