"Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > This patch series includes two distinct, but similarly-motivated parts: > > * Patches 1-4 fix some bugs in the commit-graph generation number v2. > * Patches 5-7 add a new generation number v3 by incrementing the > commit-graph file format. > > I had been thinking about generation number v3, which is the same corrected > commit date as generation number v2, but it is stored in the Commit Data > chunk, requiring a new commit-graph file format version. This breaks > compatibility with older versions of Git, so it requires opt-in via the > commitGraph.generationVersion config value. The only improvement over > version 2 is that the commit-graph file is smaller, so I/O time is reduced. Sounds exciting. Locality of on-disk data does matter. > However, while exploring this idea I found bugs in generation number v2. In > particular, Git has been ignoring them since shortly after they were > introduced. This is due to a bug I introduced when trying to make split > commit-graphs safer with mixed generation number versions. I also noticed an > issue with the offset overflows that I only noticed after writing generation > number v3 using a smaller offset size, actually triggering the bug in the > test suite. > > I'm submitting these two things together so we can see them all at once, but > I'd be happy to split this into two series. The first four patches are > important bug fixes, so we can consider them as higher-priority. > > Thanks, -Stolee Thanks, will take a look.