Subject: Re: [PATCH] format-patch: dereference tags with --ignore-if-in-upstream

From: Junio C Hamano <[email-masked]>
Date: Mon, 01 Jun 2015 10:58:24 -0700

Junio C Hamano <[email-masked]> writes:

> How about doing it this way?  We know and trust that existing
> revision traversal machinery is doing the right thing, and it is
> only that the clear_commit_marks() calls are botched.

Another alternative may be to allow any object to clear_commit_marks()
and have the callee dereference as needed.  After all, the revision
walking machinery does such a dereferencing when leaving these marks
that the function wants to clear, so it might make sense from that
point of view.

A quick "git grep clear_commit_marks()" tells me that most of the
codepaths do make sure the object is a commit when they cast their
first argument to (struct commit *) when calling this function, but
some of them do look suspicous.