Subject: Re: [PATCH v3 1/4] replace: add --graft option

From: Junio C Hamano <[email-masked]>
Date: Sun, 29 Jun 2014 23:37:13 -0700

Christian Couder <[email-masked]> writes:

> Now, after having read the recent thread about "git verify-commit", I understand
> that you also want me to drop the signature of a tag that was merged, because
> such signatures are added to the commit message.

Huh?  I am not sure if I follow.  Perhaps we are talking about
different things?

When you are preparing a replacement for an existing commit that
merges a signed tag, there are two cases:

 - The replacement commit still merges the same signed tag; or

 - The replacement commit does not merge that signed tag (it may
   become a single-parent commit, or it may stay to be a merge but
   merges a different commit on the side branch).

In the former, it would be sensible to keep the "mergetag" and
propagate it to the replacement; it is a signature over the tip of
the side branch being merged by the original (and the replacement)
merge, and the replacement will not affect the validity of the
signature at all.  In the latter, we do want to drop the "mergetag"
for the parent you are losing in the replacement, because by
definition it will be irrelevant.