From ee1d64ddd1456764de692fcdeb42db1398fcf97b Mon Sep 17 00:00:00 2001 From: zeripath Date: Sun, 10 Nov 2019 21:33:47 +0000 Subject: 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 --- models/migrations/v28.go | 4 ++-- models/repo.go | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'models') diff --git a/models/migrations/v28.go b/models/migrations/v28.go index 587e944ce6..a849fea3c2 100644 --- a/models/migrations/v28.go +++ b/models/migrations/v28.go @@ -60,9 +60,9 @@ func addRepoSize(x *xorm.Engine) (err error) { } repoPath := filepath.Join(setting.RepoRootPath, strings.ToLower(user.Name), strings.ToLower(repo.Name)) + ".git" - countObject, err := git.GetRepoSize(repoPath) + countObject, err := git.CountObjects(repoPath) if err != nil { - log.Warn("GetRepoSize: %v", err) + log.Warn("CountObjects: %v", err) continue } diff --git a/models/repo.go b/models/repo.go index 90918025fb..d79a8fdf61 100644 --- a/models/repo.go +++ b/models/repo.go @@ -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) } -- cgit v1.2.3