|
|
@ -1741,14 +1741,17 @@ func GitFsck() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GitGcRepos() error { |
|
|
|
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), |
|
|
|
return x.Where("id > 0").Iterate(new(Repository), |
|
|
|
func(idx int, bean interface{}) error { |
|
|
|
func(idx int, bean interface{}) error { |
|
|
|
repo := bean.(*Repository) |
|
|
|
repo := bean.(*Repository) |
|
|
|
if err := repo.GetOwner(); err != nil { |
|
|
|
if err := repo.GetOwner(); err != nil { |
|
|
|
return err |
|
|
|
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 { |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("%v: %v", err, stderr) |
|
|
|
return fmt.Errorf("%v: %v", err, stderr) |
|
|
|
} |
|
|
|
} |
|
|
|