On 6/23/2020 4:56 PM, Michael Forney wrote: > This is needed when repo_init_revisions() is called with a repository > that is not the_repository to ensure appropriate repository is used > in repo_parse_commit_internal(). If the wrong repository is used, > a fatal error is the commit-graph machinery occurs: > > fatal: invalid commit position. commit-graph is likely corrupt > > Since revision.c was the only user of the parse_commit_gently > compatibility define, remove it from commit.h. Is this demonstrable in a test case, to prevent regressions? Notably, you are _not_ dropping parse_commit(), and it would be easy for another call to that shim to slip into revision.c. > Signed-off-by: Michael Forney <mforney@xxxxxxxxxxx> > --- > commit.h | 1 - > revision.c | 18 +++++++++--------- > 2 files changed, 9 insertions(+), 10 deletions(-) > > diff --git a/commit.h b/commit.h > -#define parse_commit_gently(item, quiet) repo_parse_commit_gently(the_repository, item, quiet) I'm happy we can drop this shim! > diff --git a/revision.c b/revision.c > index ebb4d2a0f2..2b6bf47c81 100644 > --- a/revision.c > +++ b/revision.c > @@ -439,7 +439,7 @@ static struct commit *handle_commit(struct rev_info *revs, > if (object->type == OBJ_COMMIT) { > struct commit *commit = (struct commit *)object; > > - if (parse_commit(commit) < 0) > + if (repo_parse_commit(revs->repo, commit) < 0) I counted 9 copies of parse_commit[_gently]() in my version of revision.c, so it looks like you caught them all. Thanks! -Stolee