mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	#3091 add config option for Git GC
This commit is contained in:
		@@ -357,6 +357,7 @@ MIGRATE = 600
 | 
			
		||||
MIRROR = 300
 | 
			
		||||
CLONE = 300
 | 
			
		||||
PULL = 300
 | 
			
		||||
GC = 60
 | 
			
		||||
 | 
			
		||||
[api]
 | 
			
		||||
; Max number of items will response in a page
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -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"`
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user