summaryrefslogtreecommitdiffstats
path: root/modules/git/git.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-06-20 00:53:37 +0800
committerLauris BH <lauris@nix.lv>2019-06-19 19:53:37 +0300
commit8ec659722df32048561c713f2d533a20a7f0d5ef (patch)
tree65294eb54428215b23401081c657881680168ed1 /modules/git/git.go
parenta71cabbd537d2ca3f937e8fb986315ccc6701270 (diff)
downloadgitea-8ec659722df32048561c713f2d533a20a7f0d5ef.tar.gz
gitea-8ec659722df32048561c713f2d533a20a7f0d5ef.zip
Only check and config git on web subcommand but not others (#7236)
* only check and config git on web subcommand but not others * add Init in git tests
Diffstat (limited to 'modules/git/git.go')
-rw-r--r--modules/git/git.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/git/git.go b/modules/git/git.go
index 632af539cc..bda39da918 100644
--- a/modules/git/git.go
+++ b/modules/git/git.go
@@ -91,17 +91,20 @@ func init() {
if version.Compare(gitVersion, GitVersionRequired, "<") {
panic(fmt.Sprintf("Git version not supported. Requires version > %v", GitVersionRequired))
}
+}
+// Init initializes git module
+func Init() error {
// Git requires setting user.name and user.email in order to commit changes.
for configKey, defaultValue := range map[string]string{"user.name": "Gitea", "user.email": "gitea@fake.local"} {
if stdout, stderr, err := process.GetManager().Exec("git.Init(get setting)", GitExecutable, "config", "--get", configKey); err != nil || strings.TrimSpace(stdout) == "" {
// ExitError indicates this config is not set
if _, ok := err.(*exec.ExitError); ok || strings.TrimSpace(stdout) == "" {
if _, stderr, gerr := process.GetManager().Exec("git.Init(set "+configKey+")", "git", "config", "--global", configKey, defaultValue); gerr != nil {
- panic(fmt.Sprintf("Failed to set git %s(%s): %s", configKey, gerr, stderr))
+ return fmt.Errorf("Failed to set git %s(%s): %s", configKey, gerr, stderr)
}
} else {
- panic(fmt.Sprintf("Failed to get git %s(%s): %s", configKey, err, stderr))
+ return fmt.Errorf("Failed to get git %s(%s): %s", configKey, err, stderr)
}
}
}
@@ -109,8 +112,9 @@ func init() {
// Set git some configurations.
if _, stderr, err := process.GetManager().Exec("git.Init(git config --global core.quotepath false)",
GitExecutable, "config", "--global", "core.quotepath", "false"); err != nil {
- panic(fmt.Sprintf("Failed to execute 'git config --global core.quotepath false': %s", stderr))
+ return fmt.Errorf("Failed to execute 'git config --global core.quotepath false': %s", stderr)
}
+ return nil
}
// Fsck verifies the connectivity and validity of the objects in the database