Skip to content

Provide a PruneUnreachableObjects RPC to replace GarbageCollect

Rails sometimes needs to ask Gitaly to prune all unreachable objects, most importantly in the context where a user wants to remove accidentally-committed data from a repository. The current way to do this is to call GarbageCollect() with prune = true, but that RPC also controls other parameters like writing bitmaps. This is control we don't want to give callers, so we should instead provide a new RPC whose only task is to prune unreachable objects.

Edited by Patrick Steinhardt
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information