Browse Source

#3091 add config option for Git GC

pull/3414/head
Unknwon 9 years ago
parent
commit
b0b88d9bc5
  1. 1
      conf/app.ini
  2. 7
      models/repo.go
  3. 42
      modules/bindata/bindata.go
  4. 3
      modules/setting/setting.go

1
conf/app.ini

@ -357,6 +357,7 @@ MIGRATE = 600
MIRROR = 300
CLONE = 300
PULL = 300
GC = 60
[api]
; Max number of items will response in a page

7
models/repo.go

@ -1741,14 +1741,17 @@ func GitFsck() {
}
func GitGcRepos() error {
args := append([]string{"gc"}, setting.Git.GcArgs...)
args := append([]string{"gc"}, setting.Git.GCArgs...)
return x.Where("id > 0").Iterate(new(Repository),
func(idx int, bean interface{}) error {
repo := bean.(*Repository)
if err := repo.GetOwner(); err != nil {
return err
}
_, stderr, err := process.ExecDir(-1, RepoPath(repo.Owner.Name, repo.Name), "Repository garbage collection", "git", args...)
_, stderr, err := process.ExecDir(
time.Duration(setting.Git.Timeout.GC)*time.Second,
RepoPath(repo.Owner.Name, repo.Name), "Repository garbage collection",
"git", args...)
if err != nil {
return fmt.Errorf("%v: %v", err, stderr)
}

42
modules/bindata/bindata.go

File diff suppressed because one or more lines are too long

3
modules/setting/setting.go

@ -198,12 +198,13 @@ var (
MaxGitDiffLines int
MaxGitDiffLineCharacters int
MaxGitDiffFiles int
GcArgs []string `delim:" "`
GCArgs []string `delim:" "`
Timeout struct {
Migrate int
Mirror int
Clone int
Pull int
GC int `ini:"GC"`
} `ini:"git.timeout"`
}

Loading…
Cancel
Save