mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Move some repository methods from models to modules/repository (#9353)
* Move some repository methods from models to modules/repository * fix test
This commit is contained in:
		
				
					committed by
					
						
						Antoine GIRARD
					
				
			
			
				
	
			
			
			
						parent
						
							2904abdc22
						
					
				
				
					commit
					7b2ff82d20
				
			@@ -10,7 +10,6 @@ import (
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
	"code.gitea.io/gitea/modules/structs"
 | 
			
		||||
	api "code.gitea.io/gitea/modules/structs"
 | 
			
		||||
@@ -318,49 +317,6 @@ func DeleteReleaseByID(id int64) error {
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SyncReleasesWithTags synchronizes release table with repository tags
 | 
			
		||||
func SyncReleasesWithTags(repo *Repository, gitRepo *git.Repository) error {
 | 
			
		||||
	existingRelTags := make(map[string]struct{})
 | 
			
		||||
	opts := FindReleasesOptions{IncludeDrafts: true, IncludeTags: true}
 | 
			
		||||
	for page := 1; ; page++ {
 | 
			
		||||
		rels, err := GetReleasesByRepoID(repo.ID, opts, page, 100)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return fmt.Errorf("GetReleasesByRepoID: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
		if len(rels) == 0 {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		for _, rel := range rels {
 | 
			
		||||
			if rel.IsDraft {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			commitID, err := gitRepo.GetTagCommitID(rel.TagName)
 | 
			
		||||
			if err != nil && !git.IsErrNotExist(err) {
 | 
			
		||||
				return fmt.Errorf("GetTagCommitID: %v", err)
 | 
			
		||||
			}
 | 
			
		||||
			if git.IsErrNotExist(err) || commitID != rel.Sha1 {
 | 
			
		||||
				if err := PushUpdateDeleteTag(repo, rel.TagName); err != nil {
 | 
			
		||||
					return fmt.Errorf("PushUpdateDeleteTag: %v", err)
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				existingRelTags[strings.ToLower(rel.TagName)] = struct{}{}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	tags, err := gitRepo.GetTags()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("GetTags: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	for _, tagName := range tags {
 | 
			
		||||
		if _, ok := existingRelTags[strings.ToLower(tagName)]; !ok {
 | 
			
		||||
			if err := PushUpdateAddTag(repo, gitRepo, tagName); err != nil {
 | 
			
		||||
				return fmt.Errorf("pushUpdateAddTag: %v", err)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateReleasesMigrationsByType updates all migrated repositories' releases from gitServiceType to replace originalAuthorID to posterID
 | 
			
		||||
func UpdateReleasesMigrationsByType(gitServiceType structs.GitServiceType, originalAuthorID string, posterID int64) error {
 | 
			
		||||
	_, err := x.Table("release").
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user