Fix datarace on git.GlobalCommandArgs on tests (#9162)

* fix datarace on git.GlobalCommandArgs on tests

* fix tests

* fix tests

* fix tests
This commit is contained in:
Lunny Xiao 2019-11-27 08:35:52 +08:00 committed by Antoine GIRARD
parent 9d9e6ac411
commit 7b7d382b8b
5 changed files with 40 additions and 23 deletions

View file

@ -207,7 +207,12 @@ func (c *Commit) GetCommitByPath(relpath string) (*Commit, error) {
// AddChanges marks local changes to be ready for commit.
func AddChanges(repoPath string, all bool, files ...string) error {
cmd := NewCommand("add")
return AddChangesWithArgs(repoPath, GlobalCommandArgs, all, files...)
}
// AddChangesWithArgs marks local changes to be ready for commit.
func AddChangesWithArgs(repoPath string, gloablArgs []string, all bool, files ...string) error {
cmd := NewCommandNoGlobals(append(gloablArgs, "add")...)
if all {
cmd.AddArguments("--all")
}
@ -226,7 +231,15 @@ type CommitChangesOptions struct {
// CommitChanges commits local changes with given committer, author and message.
// If author is nil, it will be the same as committer.
func CommitChanges(repoPath string, opts CommitChangesOptions) error {
cmd := NewCommand()
cargs := make([]string, len(GlobalCommandArgs))
copy(cargs, GlobalCommandArgs)
return CommitChangesWithArgs(repoPath, cargs, opts)
}
// CommitChangesWithArgs commits local changes with given committer, author and message.
// If author is nil, it will be the same as committer.
func CommitChangesWithArgs(repoPath string, args []string, opts CommitChangesOptions) error {
cmd := NewCommandNoGlobals(args...)
if opts.Committer != nil {
cmd.AddArguments("-c", "user.name="+opts.Committer.Name, "-c", "user.email="+opts.Committer.Email)
}