Re: [PATCH 0/3] commit-graph: fix corruption during generation v2 upgrade
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jul 15, 2022, 02:02 UTC
- Message-ID
- <YtDKmo72LgqzEycD@nand.local>
- In-Reply-To
- <xmqqk08gdi5i.fsf@gitster.g>
On Wed, Jul 13, 2022 at 10:41:45AM -0700, Junio C Hamano wrote:
> Thanks. Do we know where this breaks? Applying [1/3] on Git 2.32, > 2.34, and 2.35 seems to claim that "known breakage vanished".
With a script like:
--- >8 --- #!/bin/sh
set -e
rm -fr repo git init -q repo cd repo
echo "x" >x git add x GIT_AUTHOR_DATE="@2 +0000" \ GIT_COMMITTER_DATE="@2 +0000" git commit -q -m "$(cat x)"
git repack -d -q
git.compile -c commitGraph.generationVersion=1 commit-graph write git.compile -c commitGraph.generationVersion=2 commit-graph write \ --changed-paths
git.compile rev-list --all --- 8< ---
You can bisect it to 3b0199d4c3 (commit-graph: start parsing generation v2 (again), 2022-03-01), but only because that patch teaches Git to recognize the existence of the generation v2 chunks.
I suspect (but haven't confirmed) that it was probably broken before 3b0199d4c3. But such breakage wouldn't have mattered, since despite understanding generation v2, previous versions of Git never read those chunks, which would have masked over this bug.
Thanks, Taylor