Add multiple tags support to commit list GraphQL query and frontend

Problem

The refactored commit list only supports a single tag field, but commits can have multiple tags. The existing HAML implementation displays "X tags" with a tooltip when multiple tags exist.

Proposal

Backend: Add a tags field (array) to the commit GraphQL type to return all tags pointing to a commit.

Frontend: Update commit_list_item_badges.vue to:

  • Display "X tags" badge with tooltip listing all tags when multiple exist
  • Display single tag name when only one exists

Reference

Current HAML behavior (app/views/projects/commits/_commit.html.haml, lines 68-77):

- if tags.size > 1
  = gl_badge_tag(..., title: tags.join(', ')) do
    = _('%{count} tags') % { count: tags.size }
- else
  = gl_badge_tag(..., title: tags.first) do
    = tags.first

Follow-up from #550474 (closed). Part of &17482.

Edited by 🤖 GitLab Bot 🤖