git-annex is in a mode of continual user-driven improvement, involving numerous
small issues and often easily implemented ideas.
Here are some larger/ongoing plans for git-annex, in no particular order.
Speed improvements, including:
* Speed up git checkout in v7 repository by
improving git's smudge/clean filter interface, or some other approach, to avoid needing to fork
git-annex once per file during the checkout.
* Improve parallelism.
* [[todo/sqlite_database_improvements]] to avoid using String and better
encode data stored in sqlite.
Improvements to tree export support, including supporting export to more
external special remotes, more
efficient renames, and improving support for exporting non-annexed files.
Improve support for branches where annexed files without content locally
present are hidden (adjust --hide-missing). Including interface for
operating on hidden files to get them, speeding up generation of the
branch, and updating it more frequently.
Also unify adjusted branches and view branches.
Improve Windows support. Further improve using git-annex in Windows
Subsystem for Linux (WSL). Get Windows fully supported with no caveats.
Possibly even supporting indirect mode with symlinks.
Add more special remotes, and/or ship a collection of existing external
special remotes as part of git-annex. Improve existing special remotes,
eg adding support for Glacier lifecycles to S3.
Deltas to improve transfer of modified versions of files.