Re: [PATCH 0/7] Commit-graph: Generation Number v2 Fixes, v3 implementation
"Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 12 quoted lines
> 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.
Show 13 quoted lines
> 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.