From c73e9057ae949bd0c0bf329b23d4e5da4ac154d0 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 2 Jan 2015 20:14:43 +0800 Subject: Optmize git-fsck options and fix #820 --- modules/cron/manager.go | 4 +++- modules/setting/setting.go | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) (limited to 'modules') diff --git a/modules/cron/manager.go b/modules/cron/manager.go index 49b1a99c..135fec4f 100644 --- a/modules/cron/manager.go +++ b/modules/cron/manager.go @@ -16,7 +16,9 @@ var c = New() func NewCronContext() { c.AddFunc("Update mirrors", "@every 1h", models.MirrorUpdate) c.AddFunc("Deliver hooks", fmt.Sprintf("@every %dm", setting.WebhookTaskInterval), models.DeliverHooks) - c.AddFunc("Repository health check", "@every 1h", models.GitFsck) + if setting.Git.Fsck.Enable { + c.AddFunc("Repository health check", fmt.Sprintf("@every %dh", setting.Git.Fsck.Interval), models.GitFsck) + } c.Start() } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index c4d3d3a6..bc9da3c6 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -107,9 +107,15 @@ var ( SessionConfig session.Options // Git settings. - MaxGitDiffLines int - GitFsckArgs []string - GitGcArgs []string + Git struct { + MaxGitDiffLines int + GcArgs []string `delim:" "` + Fsck struct { + Enable bool + Interval int + Args []string `delim:" "` + } `ini:"git.fsck"` + } // I18n settings. Langs, Names []string @@ -174,6 +180,7 @@ func NewConfigContext() { } else { log.Warn("No custom 'conf/app.ini' found, please go to '/install'") } + Cfg.NameMapper = ini.AllCapsUnderscore LogRootPath = Cfg.Section("log").Key("ROOT_PATH").MustString(path.Join(workDir, "log")) @@ -291,10 +298,9 @@ func NewConfigContext() { } DisableGravatar = sec.Key("DISABLE_GRAVATAR").MustBool() - sec = Cfg.Section("git") - MaxGitDiffLines = sec.Key("MAX_GITDIFF_LINES").MustInt(10000) - GitFsckArgs = sec.Key("FSCK_ARGS").Strings(" ") - GitGcArgs = sec.Key("GC_ARGS").Strings(" ") + if err = Cfg.Section("git").MapTo(&Git); err != nil { + log.Fatal(4, "Fail to map Git settings: %v", err) + } Langs = Cfg.Section("i18n").Key("LANGS").Strings(",") Names = Cfg.Section("i18n").Key("NAMES").Strings(",") -- cgit v1.2.3