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 {