From: Derrick Stolee Date: Thu, 01 Sep 2022 19:18:21 GMT Subject: Re: [PATCH 1/3] commit-graph: let commit graph respect commit graft Message-ID: <8b9e8c2d-7a64-2d66-83a8-2a7daff9a81c@github.com> In-Reply-To: <19fd72c34dcd1332df638d76b0b028e9d9da3d41.1662025272.git.gitgitgadget@gmail.com> On 9/1/2022 5:41 AM, ZheNing Hu via GitGitGadget wrote: > From: ZheNing Hu > > In repo_parse_commit_internal(), if we want to use > commit graph, it will call parse_commit_in_graph() to > parse commit's content from commit graph, otherwise > call repo_read_object_file() to parse commit's content > from commit object. > > repo_read_object_file() will respect commit graft, > which can correctly amend commit's parents. But > parse_commit_in_graph() not. Inconsistencies here may > result in incorrect processing of shallow clone. > > So let parse_commit_in_graph() respect commit graft as > repo_read_object_file() does, which can solve this problem. If grafts or replace-objects exist, then the commit-graph is disabled and this code will never be called. I would expect a test case demonstrating the change in behavior here, but that is impossible. The commit-graph parsing should not be bogged down with this logic. Thanks, -Stolee