in src/main.rs [2404:2430]
fn cmd_prune(
_out: &Arc<dyn Out>,
cfg: &Config,
sub_args: &PruneArgs,
) -> Result<(), miette::Report> {
let network = Network::acquire(cfg);
let mut store = Store::acquire(cfg, network.as_ref(), false)?;
let _spinner = indeterminate_spinner("Pruning", "unnecessary imports and exemptions");
// Update the store with the live state, pruning unnecessary exemptions and
// imports.
resolver::update_store(cfg, &mut store, |_| resolver::UpdateMode {
search_mode: if sub_args.no_exemptions {
resolver::SearchMode::PreferExemptions
} else {
resolver::SearchMode::PreferFreshImports
},
prune_exemptions: !sub_args.no_exemptions,
prune_non_importable_audits: !sub_args.no_audits,
prune_imports: !sub_args.no_imports,
});
store.commit()?;
Ok(())
}