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.
tokarchuk/v1.17
Mura Li 6 years ago committed by Lauris BH
parent 7a4c29c739
commit 2a9806bfc6
  1. 2
      modules/git/command.go
  2. 11
      modules/git/git.go

@ -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…
Cancel
Save