Skip to content

avc gc

Scans .avc/objects/ and identifies blobs no longer referenced by any snapshot — typically left behind after deleting branches or snapshots.

By default this is a dry run: it reports what would be deleted without removing anything.

Terminal window
avc gc # preview what would be removed
avc gc --run # delete and reclaim disk space
avc gc --json
FlagDescription
--runActually delete unreferenced objects (default is dry-run)
--grace <duration>Skip objects newer than this age (default 15m) so an in-flight snapshot is never collected
--jsonJSON output
{
"scanned_objects": 1204,
"deleted_objects": 37,
"bytes_reclaimed": 4423680,
"skipped_recent": 2,
"dry_run": true
}

skipped_recent counts objects spared by the grace period — objects written more recently than --grace are never deleted, so a snapshot in progress on another process can’t have its just-written blobs collected out from under it.

Terminal window
avc branch delete feat-old-experiment
avc gc # see what's now unreferenced
avc gc --run # actually reclaim the space

Object content is never modified — avc gc only removes blobs that no snapshot, on any branch, points to. See Concepts → Storage for how the content-addressed object store works.