You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
runner-go/clone/environ.go

46 lines
1.1 KiB
Go

// Copyright 2019 Drone.IO Inc. All rights reserved.
// Use of this source code is governed by the Polyform License
// that can be found in the LICENSE file.
package clone
// Config provides the Git Configuration parameters.
type Config struct {
User User
Trace bool
SkipVerify bool
}
// User provides the Git user parameters.
type User struct {
Name string
Email string
}
// Environ returns a set of global Git environment variables,
// from the configuration input.
func Environ(config Config) map[string]string {
environ := map[string]string{
"GIT_AUTHOR_NAME": "drone",
"GIT_AUTHOR_EMAIL": "noreply@drone",
"GIT_COMMITTER_NAME": "drone",
"GIT_COMMITTER_EMAIL": "noreply@drone",
"GIT_TERMINAL_PROMPT": "0",
}
if s := config.User.Name; s != "" {
environ["GIT_AUTHOR_NAME"] = s
environ["GIT_COMMITTER_NAME"] = s
}
if s := config.User.Email; s != "" {
environ["GIT_AUTHOR_EMAIL"] = s
environ["GIT_COMMITTER_EMAIL"] = s
}
if config.Trace {
environ["GIT_TRACE"] = "true"
}
if config.SkipVerify {
environ["GIT_SSL_NO_VERIFY"] = "true"
}
return environ
}