Tags pointing to other tags break the API tags method
If your repository contains an annotated tag that points at another annotated tag, the API method GET /projects/:id/repository/tags
will error with a 500.
Started GET "/api/v3/projects/7/repository/tags?private_token=[FILTERED]" for 127.0.0.1 at 2015-05-26 09:14:51 +0000
TypeError (wrong argument type Rugged::Tag::Annotation (expected String)):
/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/rugged-0.21.4/lib/rugged/repository.rb:106:in `rev_parse'
/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/rugged-0.21.4/lib/rugged/repository.rb:106:in `rev_parse'
/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/gitlab_git-7.1.2/lib/gitlab_git/repository.rb:254:in `rev_parse_target'
/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/gitlab_git-7.1.2/lib/gitlab_git/commit.rb:57:in `find'
/opt/gitlab/embedded/service/gitlab-rails/app/models/repository.rb:30:in `commit'
/opt/gitlab/embedded/service/gitlab-rails/lib/api/entities.rb:96:in `block in <class:RepoTag>'
The tags page in the web GUI works fine.
GitLab 7.9.1 6f6c5f18