set identity for temporary repository merges
This commit is contained in:
@@ -56,9 +56,16 @@ func (r *Repository) MergeViaTempRepo(base, head, message, authorName, authorEma
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer cleanup()
|
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) {
|
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 {
|
if err != nil {
|
||||||
return nil, commandFailure("merge --ff-only", err, stdout, stderr)
|
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").
|
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 {
|
if mergeErr != nil {
|
||||||
conflicts, err := r.unmergedPaths(temp)
|
conflicts, err := r.unmergedPaths(temp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user