Cargo cache 0.3.0 - alternative registries

I just released cargo-cache 0.3.0 which features support for alternative registries!

So far, alternative registries have have just sorta worked, the crate didn't crash (I think...) but I had never actually tested it in ci. With 0.3.0 there is a new subcommand cargo cache registry or shorter cargo cache r which will display a cache summary for each crate registry, a lot of internal refactoring has gone into this:

Total:                              3.81 GB
  107 installed binaries:         916.89 MB
  Registry:                       163.43 MB
    Registry index:               156.47 MB
    5 crate archives:               6.96 MB
  Registry: dl.cloudsmith.io        4.18 KB
    Registry index:                 3.21 KB
    1 crate archives:                971  B
  Registry: github.com              1.34 GB
    Registry index:                98.51 MB
    5522 crate archives:          812.62 MB
    743 crate source checkouts:   426.25 MB
  Registry: home                     478  B
    Registry index:                  478  B
  Registry: ship.rs                  478  B
    Registry index:                  478  B
  Git db:                           1.40 GB
    138 bare git repos:             1.37 GB
    6 git repo checkouts:          23.53 MB

(There are a couple of weird registries in there from when I tried making one myself by cloning the crates.io index)

The default summary (cmd: cargo cache) prints a summary of all registries combined as before. In addition it now shows the number of cloned registry indices and compared to previous versions the output is a little bit more condensed.

cargo cache --info was taught about the registry index.

cargo cache --autoclean --dry-run will now print an estimate of space that would be freed:

dry-run: would remove: '/home/matthias/.cargo/registry/src' (624.27 MB)
dry-run: would remove: '/home/matthias/.cargo/git/checkouts' (23.53 MB)

As usual, dependencies have been updated, I also managed to shave off a few by building git2 without default features resulting in reduced buildtime of the crate.

As usual, if you find a bug or have ideas for further improvements, please let me know!

cargo cache on crates.io

github repo

4 Likes

Quick update: I just published 0.3.1 which fixes a crash when finding files where I previously only expected directories in git folders (git repos and checkouts) on macosx.