Pre-calculate the absolute path of git (#6575)
* Pre-caculate the absolute path of git * Do not repeat string literals which has been defined somewhere Also make it flexible to accept customized/user-defined value.
This commit is contained in:
parent
7a4c29c739
commit
2a9806bfc6
|
@ -41,7 +41,7 @@ func NewCommand(args ...string) *Command {
|
|||
cargs := make([]string, len(GlobalCommandArgs))
|
||||
copy(cargs, GlobalCommandArgs)
|
||||
return &Command{
|
||||
name: "git",
|
||||
name: GitExecutable,
|
||||
args: append(cargs, args...),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ package git
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
@ -26,6 +27,10 @@ var (
|
|||
Prefix = "[git-module] "
|
||||
// GitVersionRequired is the minimum Git version required
|
||||
GitVersionRequired = "1.7.2"
|
||||
|
||||
// GitExecutable is the command name of git
|
||||
// Could be updated to an absolute path while initialization
|
||||
GitExecutable = "git"
|
||||
)
|
||||
|
||||
func log(format string, args ...interface{}) {
|
||||
|
@ -71,6 +76,12 @@ func BinVersion() (string, error) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
absPath, err := exec.LookPath(GitExecutable)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Git not found: %v", err))
|
||||
}
|
||||
GitExecutable = absPath
|
||||
|
||||
gitVersion, err := BinVersion()
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Git version missing: %v", err))
|
||||
|
|
Loading…
Reference in a new issue