take reachability in consideration when cleaning redundant packfiles
commit6322ae439e52def47d663fb644a96236c81ad92d
authorOmar Polo <op@omarpolo.com>
Tue, 11 Jul 2023 14:40:11 +0000 (11 14:40 +0000)
committerThomas Adam <thomas@xteddy.org>
Tue, 11 Jul 2023 21:54:18 +0000 (11 22:54 +0100)
tree1e24ed9b5ef0d42537091debd2d8d610ee0f55e4
parentcfbfa60cc722e92165914178267754f432b46ccb
take reachability in consideration when cleaning redundant packfiles

This wraps the cleaning up of loose objects and redundant pack files
under a new functions, making the _prepare() and _complete() functions
unnecessary.  It walks the reachable commits unconditionally since
that information is always needed and adapt how we purge loose
objects after this change.

The progress function is changed too and we log `ncommits' first,
followed by the number of loose objects, followed by the rest.

Pack files are now considered redundant when all their objects are
provided by a bigger pack or are unreachable.

ok stsp
gotadmin/gotadmin.c
include/got_repository_admin.h
lib/repository_admin.c
regress/cmdline/cleanup.sh