* Documentation - More gtk-doc * Local metadata packs - Just to avoid lots of little files on each client * Hybrid SSL pull (fetch refs over SSL, content via plain HTTP) * ostree-commit: multithreaded/async (basically compute sha256 in parallel) - Also speed up devino cache by having a big mmappable file that maps from (device, inode) -> checksum. We need to keep the cache up to to date; investigate something like http://www.sqlite.org/wal.html for having a shared file. * Indexed metadata pack objects for bare repositories at least; no reason to inflict thousands of little metadata files on each client. * Efficient delta format between commit objects, somewhat like Chromium autoupdate: set of operations to perform given previous object set to create new objects. * Flexible "prune" that allows keeping only a rolling subset of history. For example, keep the last week, keep at least 1 build a week up till a year ago, then 1 build a month, etc. Optionally rewrite commit parent history? * Tests of corrupted repositories, more error conditions * Structured output from commandline? ostree --output={table,gvariant} ? * Better output on a tty - progress bars * Improve library * ostree admin install: Pull in host data, such as uids and /etc/fstab * ostree admin undeploy * ostree admin uninstall * Possibly move all of the "regular" commands to be "ostree repo" ? Then we'd have: "ostree repo pull", "ostree repo ls", etc. * Multiple backends (BTRFS, etc.) * PackageKit backend