2020-01-12 20:11:17 +08:00
|
|
|
// Copyright 2019 The Gitea Authors. All rights reserved.
|
2022-11-27 13:20:29 -05:00
|
|
|
// SPDX-License-Identifier: MIT
|
2020-01-12 20:11:17 +08:00
|
|
|
|
|
|
|
|
package repository
|
|
|
|
|
|
|
|
|
|
import (
|
2021-09-23 16:45:36 +01:00
|
|
|
"context"
|
2020-01-12 20:11:17 +08:00
|
|
|
"fmt"
|
|
|
|
|
|
2022-06-12 23:51:54 +08:00
|
|
|
git_model "code.gitea.io/gitea/models/git"
|
2021-12-10 09:27:50 +08:00
|
|
|
repo_model "code.gitea.io/gitea/models/repo"
|
2025-10-07 02:06:51 -07:00
|
|
|
"code.gitea.io/gitea/modules/gitrepo"
|
2020-01-12 20:11:17 +08:00
|
|
|
)
|
|
|
|
|
|
2023-01-14 02:54:02 +08:00
|
|
|
// UpdateRepoSize updates the repository size, calculating it using getDirectorySize
|
2022-06-06 16:01:49 +08:00
|
|
|
func UpdateRepoSize(ctx context.Context, repo *repo_model.Repository) error {
|
2025-10-07 02:06:51 -07:00
|
|
|
size, err := gitrepo.CalcRepositorySize(repo)
|
2022-06-06 16:01:49 +08:00
|
|
|
if err != nil {
|
2022-10-24 21:29:17 +02:00
|
|
|
return fmt.Errorf("updateSize: %w", err)
|
2022-06-06 16:01:49 +08:00
|
|
|
}
|
|
|
|
|
|
2022-06-12 23:51:54 +08:00
|
|
|
lfsSize, err := git_model.GetRepoLFSSize(ctx, repo.ID)
|
2022-06-06 16:01:49 +08:00
|
|
|
if err != nil {
|
2022-10-24 21:29:17 +02:00
|
|
|
return fmt.Errorf("updateSize: GetLFSMetaObjects: %w", err)
|
2022-06-06 16:01:49 +08:00
|
|
|
}
|
|
|
|
|
|
2023-06-29 06:41:02 +08:00
|
|
|
return repo_model.UpdateRepoSize(ctx, repo.ID, size, lfsSize)
|
2022-06-06 16:01:49 +08:00
|
|
|
}
|