logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

bup-gc - remove unreferenced, unneeded data

Authors

       Rob Browning rlb@defaultvalue.org

Bup 0.33.7                                         2025-01-11                                          bup-gc(1)

Bup

       Part of the bup(1) suite.

Description

       bup  gc  removes  (permanently deletes) unreachable data from the repository, data that isn’t referred to
       directly or indirectly by the current set of branches (backup sets) and tags.   But  bear  in  mind  that
       given deduplication, deleting a save and running the garbage collector might or might not actually delete
       anything (or reclaim any space).

       With  the  current, proababilistic implementation, some fraction of the unreachable data may be retained.
       In exchange, the garbage collection should require less RAM than might be required by some  more  precise
       approaches.

       Typically, the garbage collector would be invoked after some set of invocations of bup rm.

       WARNING:  This  is  one  of  the few bup commands that modifies your archive in intentionally destructive
       ways.  Though if an attempt to join or restore the data you still care about after a gc succeeds,  that’s
       a  fairly  encouraging  sign  that  the commands worked correctly.  (The dev/compare-trees command in the
       source tree can be used to help test before/after results.)

Examples

              # Remove all saves of "home" and most of the otherwise unreferenced data.
              $ bup rm home
              $ bup gc

Exit Status

       The exit status will be nonzero if there were any errors.  Encountering any missing object is  considered
       an error.

Name

       bup-gc - remove unreferenced, unneeded data

Options

       --threshold=N
              only rewrite a packfile if it’s over N percent  garbage  and  contains  no  unreachable  trees  or
              commits.  The default threshold is 10%.

       -v, --verbose
              increase  verbosity (can be used more than once).  With one -v, bup prints every directory name as
              it gets backed up.  With two -v, it also prints every filename.

       -#, --compress=#
              set the compression level to # (a value from 0-9, where 9 is the highest and 0 is no compression).
              The default is 1 (fast, loose compression).

       --ignore-missing
              report missing objects, but don’t stop the collection.

See Also

bup-rm(1) and bup-fsck(1)

Synopsis

       bup gc [-#|--verbose] <branch|save...>

See Also