Stop using git count-objects and use raw directory size for repository (#8848)

* Migrate from git count-objects to a raw directory size
* As per @guillep2k ignore unusual files
This commit is contained in:
zeripath
2019-11-10 21:33:47 +00:00
committed by GitHub
parent 44ec9b933a
commit ee1d64ddd1
4 changed files with 26 additions and 8 deletions

View File

@ -36,6 +36,7 @@ import (
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/sync"
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"
"github.com/mcuadros/go-version"
"github.com/unknwon/com"
@ -708,17 +709,17 @@ func (repo *Repository) IsOwnedBy(userID int64) bool {
}
func (repo *Repository) updateSize(e Engine) error {
repoInfoSize, err := git.GetRepoSize(repo.repoPath(e))
size, err := util.GetDirectorySize(repo.repoPath(e))
if err != nil {
return fmt.Errorf("UpdateSize: %v", err)
}
repo.Size = repoInfoSize.Size + repoInfoSize.SizePack
repo.Size = size
_, err = e.ID(repo.ID).Cols("size").Update(repo)
return err
}
// UpdateSize updates the repository size, calculating it using git.GetRepoSize
// UpdateSize updates the repository size, calculating it using util.GetDirectorySize
func (repo *Repository) UpdateSize() error {
return repo.updateSize(x)
}