@ -7,8 +7,6 @@
package git
import (
"strings"
"code.gitea.io/gitea/modules/log"
"github.com/go-git/go-git/v5/plumbing"
@ -20,40 +18,6 @@ func (repo *Repository) IsTagExist(name string) bool {
return err == nil
}
// GetTags returns all tags of the repository.
// returning at most limit tags, or all if limit is 0.
func ( repo * Repository ) GetTags ( skip , limit int ) ( [ ] string , error ) {
var tagNames [ ] string
tags , err := repo . gogitRepo . Tags ( )
if err != nil {
return nil , err
}
_ = tags . ForEach ( func ( tag * plumbing . Reference ) error {
tagNames = append ( tagNames , strings . TrimPrefix ( tag . Name ( ) . String ( ) , TagPrefix ) )
return nil
} )
// Reverse order
for i := 0 ; i < len ( tagNames ) / 2 ; i ++ {
j := len ( tagNames ) - i - 1
tagNames [ i ] , tagNames [ j ] = tagNames [ j ] , tagNames [ i ]
}
// since we have to reverse order we can paginate only afterwards
if len ( tagNames ) < skip {
tagNames = [ ] string { }
} else {
tagNames = tagNames [ skip : ]
}
if limit != 0 && len ( tagNames ) > limit {
tagNames = tagNames [ : limit ]
}
return tagNames , nil
}
// GetTagType gets the type of the tag, either commit (simple) or tag (annotated)
func ( repo * Repository ) GetTagType ( id ObjectID ) ( string , error ) {
// Get tag type