Commit Briefs

Thomas Adam

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


Thomas Adam

fix cleanup progress reporting output


Thomas Adam

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@


Thomas Adam

gotadmin cleanup: remove redundant pack files

improvements and ok stsp@


Thomas Adam

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@


Thomas Adam

print additional progress information while packing

ok op@



Stefan Sperling

handle pack index files which lack a corresponding pack file

ok millert


Stefan Sperling

implement 'gotadmin cleanup'