Browse Source

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.
tags/v1.9.0-rc1
Mura Li 5 years ago
parent
commit
2a9806bfc6
2 changed files with 12 additions and 1 deletions
  1. 1
    1
      modules/git/command.go
  2. 11
    0
      modules/git/git.go

+ 1
- 1
modules/git/command.go View File

@@ -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...),
}
}

+ 11
- 0
modules/git/git.go View File

@@ -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