2019-03-16 06:12:44 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2019-03-16 06:12:44 +03:00
package setting
import (
2022-07-08 11:09:07 +03:00
"path/filepath"
2019-03-16 06:12:44 +03:00
"time"
"code.gitea.io/gitea/modules/log"
)
2022-01-20 20:46:10 +03:00
// Git settings
var Git = struct {
2023-03-13 10:51:07 +03:00
Path string
HomePath string
DisableDiffHighlight bool
Reflog struct {
Enabled bool
Expiration int
} ` ini:"git.reflog" `
2022-01-20 20:46:10 +03:00
MaxGitDiffLines int
MaxGitDiffLineCharacters int
MaxGitDiffFiles int
CommitsRangeSize int // CommitsRangeSize the default commits range size
BranchesRangeSize int // BranchesRangeSize the default branches range size
VerbosePush bool
VerbosePushDelay time . Duration
GCArgs [ ] string ` ini:"GC_ARGS" delim:" " `
EnableAutoGitWireProtocol bool
PullRequestPushMessage bool
LargeObjectThreshold int64
DisableCoreProtectNTFS bool
DisablePartialClone bool
Timeout struct {
Default int
Migrate int
Mirror int
Clone int
Pull int
GC int ` ini:"GC" `
} ` ini:"git.timeout" `
} {
2023-03-13 10:51:07 +03:00
Reflog : struct {
Enabled bool
Expiration int
} {
Enabled : true ,
Expiration : 90 ,
} ,
2022-01-20 20:46:10 +03:00
DisableDiffHighlight : false ,
MaxGitDiffLines : 1000 ,
MaxGitDiffLineCharacters : 5000 ,
MaxGitDiffFiles : 100 ,
CommitsRangeSize : 50 ,
BranchesRangeSize : 20 ,
VerbosePush : true ,
VerbosePushDelay : 5 * time . Second ,
GCArgs : [ ] string { } ,
EnableAutoGitWireProtocol : true ,
PullRequestPushMessage : true ,
LargeObjectThreshold : 1024 * 1024 ,
DisablePartialClone : false ,
Timeout : struct {
Default int
Migrate int
Mirror int
Clone int
Pull int
GC int ` ini:"GC" `
2019-03-16 06:12:44 +03:00
} {
2022-01-20 20:46:10 +03:00
Default : 360 ,
Migrate : 600 ,
Mirror : 300 ,
Clone : 300 ,
Pull : 300 ,
GC : 60 ,
} ,
}
2019-03-16 06:12:44 +03:00
2023-02-19 19:12:01 +03:00
func loadGitFrom ( rootCfg ConfigProvider ) {
sec := rootCfg . Section ( "git" )
2022-07-08 11:09:07 +03:00
if err := sec . MapTo ( & Git ) ; err != nil {
2019-04-02 10:48:31 +03:00
log . Fatal ( "Failed to map Git settings: %v" , err )
2019-03-16 06:12:44 +03:00
}
2022-07-08 11:09:07 +03:00
Git . HomePath = sec . Key ( "HOME_PATH" ) . MustString ( "home" )
if ! filepath . IsAbs ( Git . HomePath ) {
Git . HomePath = filepath . Join ( AppDataPath , Git . HomePath )
} else {
Git . HomePath = filepath . Clean ( Git . HomePath )
}
2019-03-16 06:12:44 +03:00
}