diff options
author | Richard Mahn <richmahn@users.noreply.github.com> | 2019-06-08 10:31:11 -0400 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-06-08 17:31:11 +0300 |
commit | 8de0b0a3f06fe7879fb014d2624209e0e48455a0 (patch) | |
tree | 55a1413aa439c86749ee0af31d484675e3b4b5cc /modules/git/repo_ref.go | |
parent | 23a2ee3510ad1b1e7e89edc526ed394c71a8ba24 (diff) | |
download | gitea-8de0b0a3f06fe7879fb014d2624209e0e48455a0.tar.gz gitea-8de0b0a3f06fe7879fb014d2624209e0e48455a0.zip |
Fixes #2738 - Adds the /git/tags API endpoint (#7138)
* Fixes #2738 - /git/tags API
* proper URLs
* Adds function comments
* Updates swagger
* Removes newline from tag message
* Removes trailing newline from commit message
* Adds integration test
* Removed debugging
* Adds tests
* Fixes bug where multiple tags of same commit show wrong tag name
* Fix formatting
* Removes unused varaible
* Fix to annotated tag function names and response
* Update modules/git/repo_tag.go
Co-Authored-By: Lauris BH <lauris@nix.lv>
* Uses TagPrefix
* Changes per review, better error handling for getting tag and commit IDs
* Fix to getting commit ID
* Fix to getting commit ID
* Fix to getting commit ID
* Fix to getting commit ID
Diffstat (limited to 'modules/git/repo_ref.go')
-rw-r--r-- | modules/git/repo_ref.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/modules/git/repo_ref.go b/modules/git/repo_ref.go index e1ab46e090..95a6c2ae69 100644 --- a/modules/git/repo_ref.go +++ b/modules/git/repo_ref.go @@ -31,15 +31,19 @@ func (repo *Repository) GetRefsFiltered(pattern string) ([]*Reference, error) { if err = refsIter.ForEach(func(ref *plumbing.Reference) error { if ref.Name() != plumbing.HEAD && !ref.Name().IsRemote() && (pattern == "" || strings.HasPrefix(ref.Name().String(), pattern)) { + refType := string(ObjectCommit) + if ref.Name().IsTag() { + // tags can be of type `commit` (lightweight) or `tag` (annotated) + if tagType, _ := repo.GetTagType(SHA1(ref.Hash())); err == nil { + refType = tagType + } + } r := &Reference{ Name: ref.Name().String(), Object: SHA1(ref.Hash()), - Type: string(ObjectCommit), + Type: refType, repo: repo, } - if ref.Name().IsTag() { - r.Type = string(ObjectTag) - } refs = append(refs, r) } return nil |