aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/repo_ref.go
diff options
context:
space:
mode:
authorRichard Mahn <richmahn@users.noreply.github.com>2019-06-08 10:31:11 -0400
committerLauris BH <lauris@nix.lv>2019-06-08 17:31:11 +0300
commit8de0b0a3f06fe7879fb014d2624209e0e48455a0 (patch)
tree55a1413aa439c86749ee0af31d484675e3b4b5cc /modules/git/repo_ref.go
parent23a2ee3510ad1b1e7e89edc526ed394c71a8ba24 (diff)
downloadgitea-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.go12
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