Caroline Bishop
Aug 19, 2025 07:05
Git 2.51 introduces significant updates including cruft-free multi-pack indexes, smaller packs with path walk, and a stash interchange format, enhancing repository performance and flexibility.
Git, the widely-used version control system, has released its latest update, Git 2.51, offering a suite of new features aimed at enhancing performance and flexibility, according to GitHub. This release includes significant updates such as cruft-free multi-pack indexes, smaller packs with path walk, and a new stash interchange format.
Cruft-free Multi-pack Indexes
The new version introduces a refined approach to multi-pack indexes (MIDXs), a mechanism that allows for efficient object lookup across multiple packfiles. This update focuses on separating unreachable objects into cruft packs, thus optimizing the reachability bitmap’s efficiency. The repack.MIDXMustContainCruft configuration is a new addition, ensuring that cruft packs are stored outside the MIDX, resulting in faster repository reads and smaller MIDXs.
Smaller Packs with Path Walk
Git 2.51 enhances packfile generation by introducing the path walk approach. Instead of relying on name-hash heuristics, this method emits all objects from a specific path simultaneously, leading to significantly smaller packs. This update improves delta compression efficiency and offers competitive timings compared to traditional methods.
Stash Interchange Format
The update also addresses the challenge of migrating stash entries between machines by introducing a new stash interchange format. This format allows multiple stash entries to be treated as a sequence of commits, enabling easier export and import of stash entries, much like branches or tags.
Additional Updates
Git 2.51 includes various other improvements, such as enhanced output for git cat-file
and expanded support for changed-path Bloom filters, which optimize pathspec-scoped history traversals. Additionally, the git switch
and git restore
commands are now stable, moving out of their experimental phase.
For a comprehensive overview of these changes and more, you can explore the official release notes on GitHub.
Image source: Shutterstock