summaryrefslogtreecommitdiffstats
path: root/modules/setting/git.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-03-16 11:12:44 +0800
committerGitHub <noreply@github.com>2019-03-16 11:12:44 +0800
commit379289639e44f8fbb1368c4f2a324f52bcb70e7f (patch)
treebbe0951debfed8f292e8abd1ce1bb6a15072a7e1 /modules/setting/git.go
parentfaf446b37257c84a038004a3655e49bda1f51a0d (diff)
downloadgitea-379289639e44f8fbb1368c4f2a324f52bcb70e7f.tar.gz
gitea-379289639e44f8fbb1368c4f2a324f52bcb70e7f.zip
split setting.go to multiple files (#6154)
* split setting.go to multiple files * fix lint
Diffstat (limited to 'modules/setting/git.go')
-rw-r--r--modules/setting/git.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/modules/setting/git.go b/modules/setting/git.go
new file mode 100644
index 0000000000..59951fcb94
--- /dev/null
+++ b/modules/setting/git.go
@@ -0,0 +1,71 @@
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package setting
+
+import (
+ "time"
+
+ "code.gitea.io/git"
+ "code.gitea.io/gitea/modules/log"
+ version "github.com/mcuadros/go-version"
+)
+
+var (
+ // Git settings
+ Git = struct {
+ Version string `ini:"-"`
+ DisableDiffHighlight bool
+ MaxGitDiffLines int
+ MaxGitDiffLineCharacters int
+ MaxGitDiffFiles int
+ GCArgs []string `delim:" "`
+ Timeout struct {
+ Default int
+ Migrate int
+ Mirror int
+ Clone int
+ Pull int
+ GC int `ini:"GC"`
+ } `ini:"git.timeout"`
+ }{
+ DisableDiffHighlight: false,
+ MaxGitDiffLines: 1000,
+ MaxGitDiffLineCharacters: 5000,
+ MaxGitDiffFiles: 100,
+ GCArgs: []string{},
+ Timeout: struct {
+ Default int
+ Migrate int
+ Mirror int
+ Clone int
+ Pull int
+ GC int `ini:"GC"`
+ }{
+ Default: int(git.DefaultCommandExecutionTimeout / time.Second),
+ Migrate: 600,
+ Mirror: 300,
+ Clone: 300,
+ Pull: 300,
+ GC: 60,
+ },
+ }
+)
+
+func newGit() {
+ if err := Cfg.Section("git").MapTo(&Git); err != nil {
+ log.Fatal(4, "Failed to map Git settings: %v", err)
+ }
+ git.DefaultCommandExecutionTimeout = time.Duration(Git.Timeout.Default) * time.Second
+
+ binVersion, err := git.BinVersion()
+ if err != nil {
+ log.Fatal(4, "Error retrieving git version: %v", err)
+ }
+
+ if version.Compare(binVersion, "2.9", ">=") {
+ // Explicitly disable credential helper, otherwise Git credentials might leak
+ git.GlobalCommandArgs = append(git.GlobalCommandArgs, "-c", "credential.helper=")
+ }
+}