From b321bf533f4302c476811f965ab29530bd23b950 Mon Sep 17 00:00:00 2001 From: Jabberwocky238 <7176656@qq.com> Date: Thu, 30 Jul 2026 02:53:21 -0400 Subject: [PATCH] set identity for temporary repository merges --- gitcmd/merge_temprepo.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gitcmd/merge_temprepo.go b/gitcmd/merge_temprepo.go index 06acffa..1f6e1a9 100644 --- a/gitcmd/merge_temprepo.go +++ b/gitcmd/merge_temprepo.go @@ -56,9 +56,16 @@ func (r *Repository) MergeViaTempRepo(base, head, message, authorName, authorEma return nil, err } defer cleanup() + identityEnv := []string{ + "GIT_AUTHOR_NAME=" + authorName, + "GIT_AUTHOR_EMAIL=" + authorEmail, + "GIT_COMMITTER_NAME=" + authorName, + "GIT_COMMITTER_EMAIL=" + authorEmail, + } if !noFF && r.isAncestor(baseSHA, headSHA) { - stdout, stderr, err := NewCommand("merge", "--ff-only").AddDynamicArguments(headSHA).WithDir(temp).RunStdString(r.ctx) + stdout, stderr, err := NewCommand("merge", "--ff-only").AddDynamicArguments(headSHA). + WithDir(temp).WithEnv(identityEnv...).RunStdString(r.ctx) if err != nil { return nil, commandFailure("merge --ff-only", err, stdout, stderr) } @@ -73,7 +80,7 @@ func (r *Repository) MergeViaTempRepo(base, head, message, authorName, authorEma } mergeOut, mergeErrOut, mergeErr := NewCommand("merge", "--no-ff", "--no-commit"). - AddDynamicArguments(headSHA).WithDir(temp).RunStdString(r.ctx) + AddDynamicArguments(headSHA).WithDir(temp).WithEnv(identityEnv...).RunStdString(r.ctx) if mergeErr != nil { conflicts, err := r.unmergedPaths(temp) if err != nil {