replay: do not copy "gpgsign-sha256" header

When "git replay" replays a commit it copies the extended headers
across from the original commit. However, if the original commit
was signed, we do not want to copy the header associated with the
signature is it wont be valid for the new commit. The code already
knows to avoid coping the "gpgsig" header but does not know to avoid
copying the "gpgsig-sha256" header.  Add that header to the list of
exclusions to match what "git commit --amend" does.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Phillip Wood
2025-11-26 14:33:37 +00:00
committed by Junio C Hamano
parent 9a2fb147f2
commit 9f3a115087

View File

@@ -67,7 +67,7 @@ static struct commit *create_commit(struct repository *repo,
const char *message = repo_logmsg_reencode(repo, based_on, const char *message = repo_logmsg_reencode(repo, based_on,
NULL, out_enc); NULL, out_enc);
const char *orig_message = NULL; const char *orig_message = NULL;
const char *exclude_gpgsig[] = { "gpgsig", NULL }; const char *exclude_gpgsig[] = { "gpgsig", "gpgsig-sha256", NULL };
commit_list_insert(parent, &parents); commit_list_insert(parent, &parents);
extra = read_commit_extra_headers(based_on, exclude_gpgsig); extra = read_commit_extra_headers(based_on, exclude_gpgsig);