diff options
author | JakobDev <jakobdev@gmx.de> | 2024-01-24 04:02:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-24 03:02:04 +0000 |
commit | 4567a3a1ad0490d9077102e0e7b5de35790e5803 (patch) | |
tree | 7b3b37b3b142ea2221a86596bd96d7df0e63a320 /modules/repository | |
parent | f3ba3e922dde7d12999a90d6cee15805a56cc7ff (diff) | |
download | gitea-4567a3a1ad0490d9077102e0e7b5de35790e5803.tar.gz gitea-4567a3a1ad0490d9077102e0e7b5de35790e5803.zip |
Allow to sync tags from admin dashboard (#28045)
Inspired by #28043
This PR adds a option to the Admin Dashboard to sync all tags to the
database.
![grafik](https://github.com/go-gitea/gitea/assets/15185051/26ac51ef-82a4-4fd9-a6a6-5aefec612ff6)
Diffstat (limited to 'modules/repository')
-rw-r--r-- | modules/repository/repo.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/repository/repo.go b/modules/repository/repo.go index 33363e4689..5af69763d1 100644 --- a/modules/repository/repo.go +++ b/modules/repository/repo.go @@ -284,6 +284,22 @@ func CleanUpMigrateInfo(ctx context.Context, repo *repo_model.Repository) (*repo return repo, UpdateRepository(ctx, repo, false) } +// SyncRepoTags synchronizes releases table with repository tags +func SyncRepoTags(ctx context.Context, repoID int64) error { + repo, err := repo_model.GetRepositoryByID(ctx, repoID) + if err != nil { + return err + } + + gitRepo, err := git.OpenRepository(ctx, repo.RepoPath()) + if err != nil { + return err + } + defer gitRepo.Close() + + return SyncReleasesWithTags(ctx, repo, gitRepo) +} + // SyncReleasesWithTags synchronizes release table with repository tags func SyncReleasesWithTags(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository) error { log.Debug("SyncReleasesWithTags: in Repo[%d:%s/%s]", repo.ID, repo.OwnerName, repo.Name) |