Why and how we rearchitected Git object database maintenance for scale
Nov 2, 2023Patrick Steinhardt

Summary
This post details the rearchitecture of Git object database maintenance within Gitaly to leverage new Git features like cruft packs and geometric repacking. It explains the inefficiencies of the old all-into-one repacks and the challenges with deleting unreachable objects, and how the new strategy addresses these by storing unreachable objects more efficiently and avoiding full rewrites. Real-world results show significant improvements in repository maintenance time and resource usage.