diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-03-16 11:12:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-16 11:12:44 +0800 |
commit | 379289639e44f8fbb1368c4f2a324f52bcb70e7f (patch) | |
tree | bbe0951debfed8f292e8abd1ce1bb6a15072a7e1 /modules/setting/git.go | |
parent | faf446b37257c84a038004a3655e49bda1f51a0d (diff) | |
download | gitea-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.go | 71 |
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=") + } +} |