On 2/7/2021 5:31 PM, Filippo Valsorda wrote: > > On Sun, Feb 7, 2021 at 11:28 PM Filippo Valsorda <valsorda@xxxxxxxxxx> wrote: >> [System Info] >> git version: >> git version 2.30.0 _This_ is interesting. I haven't heard of this problem happening in a released version of Git. I'm CC'ing Jonathan Nieder who recently saw this happening, but that was on a newer version than 2.30.0 with a topic that is not part of 2.30.0. But maybe the version shipped internally is versioned without extra information on top of the latest tag? (I see your @google.com email, which makes me think you have an internal version.) >> What happened instead? (Actual behavior) >> >> BUG: commit-reach.c:66: bad generation skip ad18 > 7 at >> be28e5abc5ddca0d6b2d8c91b7bb9c05717154e7 This was recently reported, but it was thought to be due to an in-process topic branch. If you recently had that version installed, then your data would have needed a rewrite anyway. This hints towards more problems with generation numbers across split commit-graph layers. (The child has generation number 7, so it is likely part of a thin layer.) This might be sufficient evidence to convert this BUG() to a warning with something like: warning: The commit-graph file has incorrect reachability index warning: information. Results may be incorrect until commit-graph warning: is rewritten with 'git commit-graph write'. This could also be a die() instead of warning(), as that command itself might return incorrect results. > I was able to workaround this bug with a "git gc" invocation. Yes, this will delete (and possibly replace) your commit-graph file where the bad data lies. To better understand your situation, could you please run the following commands? git config --get-regexp graph git config features.experimental I'm specifically looking for values of fetch.writeCommitGraph and gc.writeCommitGraph. Thanks, -Stolee