Commits


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


fix cleanup progress reporting output


add a lock for the cleanup operation This adds the functions got_repo_cleanup_prepare() and _complete() to lock/unlock the repository to prevent multiple `gotadmin cleanup' or `git gc' operations to run in parallel. improvements and ok stsp@


gotadmin cleanup: remove redundant pack files improvements and ok stsp@


gotadmin pack: add a -D flag to force using ref-delta Intended mostly for the regress suite, so we'll be able to test also the ref-delta code paths. ok stsp@


print additional progress information while packing ok op@


prevent a race where 'gotadmin cleanup' deletes concurrently created objects


handle pack index files which lack a corresponding pack file ok millert


implement 'gotadmin cleanup'


implement gotadmin pack, indexpack, and listpack commands