Re: [PATCH 1/1] commit-graph: fix writing first commit-graph during fetch
From: SZEDER Gábor <hidden>
Date: 2019-10-22 23:36:03
On Tue, Oct 22, 2019 at 05:45:54PM -0400, Jeff King wrote:
quoted hunk ↗ jump to hunk
On Tue, Oct 22, 2019 at 04:33:16PM -0400, Jeff King wrote:quoted
quoted
I have failed to produce a test using the file:// protocol that demonstrates this bug.Hmm, from the description, it sounds like it should be easy. I might poke at it a bit.Hmph. I can reproduce it here, but it seems to depend on the repository. If I do this:diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index ecabbe1616..8d473a456f 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh@@ -583,6 +583,14 @@ test_expect_success 'fetch.writeCommitGraph' ' ) ' +test_expect_success 'fetch.writeCommitGraph with a bigger repo' ' + git clone "$TEST_DIRECTORY/.." repo && + ( + cd repo && + git -c fetch.writeCommitGraph fetch origin + ) +' + # configured prune tests set_config_tristate () {it reliably triggers the bug. But if I make a synthetic repo, even it has a lot of commits (thousands or more), it doesn't trigger. I thought maybe it had to do with having commits that were not at tips (since the tip ones presumably _are_ fed into the graph generation process). But that doesn't seem to help. Puzzling...
Submodules? $ cd ~/src/git/ $ git quotelog 86cfd61e6b 86cfd61e6b (sha1dc: optionally use sha1collisiondetection as a submodule, 2017-07-01) $ git init --bare good.git Initialized empty Git repository in /home/szeder/src/git/good.git/ $ git push -q good.git 86cfd61e6b^:refs/heads/master $ git clone good.git good-clone Cloning into 'good-clone'... done. $ git -c fetch.writeCommitGraph -C good-clone fetch origin Computing commit graph generation numbers: 100% (46958/46958), done. $ git init --bare bad.git Initialized empty Git repository in /home/szeder/src/git/bad.git/ $ git push -q bad.git 86cfd61e6b:refs/heads/master $ git clone bad.git bad-clone Cloning into 'bad-clone'... done. $ git -c fetch.writeCommitGraph -C bad-clone fetch origin Computing commit graph generation numbers: 100% (1/1), done. BUG: commit-graph.c:886: missing parent 9936c1b52a39fa14fca04f937df3e75f7498ac66 for commit 86cfd61e6bc12745751c43b4f69886b290cd85cb Aborted In the cover letter Derrick mentioned that he used https://github.com/derrickstolee/numbers for testing, and that repo has a submodule as well.