summaryrefslogtreecommitdiffstats
path: root/models/repo.go
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2019-11-10 21:33:47 +0000
committerGitHub <noreply@github.com>2019-11-10 21:33:47 +0000
commitee1d64ddd1456764de692fcdeb42db1398fcf97b (patch)
treebe5069e203bf34b42f1f5aee4fe387c8a6b305c6 /models/repo.go
parent44ec9b933afe7a7c84e18ff525f377240d8dd4f0 (diff)
downloadgitea-ee1d64ddd1456764de692fcdeb42db1398fcf97b.tar.gz
gitea-ee1d64ddd1456764de692fcdeb42db1398fcf97b.zip
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
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go7
1 files changed, 4 insertions, 3 deletions
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)
}