Skip to content

Migrate forks button from HAML to Vue

What does this MR do and why?

This MR migrates the fork button on the project overview page from HAML to Vue 🙂

Screenshots or screen recordings

No visual changes, the fork button looks the same before and after this MR 🙂

Screenshot_2023-07-26_alle_13.32.44

How to set up and validate locally

It is tricky to validate all possible states of the button 😅

  • Choose a project
  • Impersonate a user that has not forked the project
    • The fork button should be a link to the new fork page
      • If the project has forking disabled, the fork button should be disabled
      • If the user has reached the limit of projects it can create, the fork button should be disabled
  • Impersonate a user that has already forked the project
    • If the user has access to only its own namespace (no write access to other groups) the fork button should be a link to its own fork
    • If the user has access to multiple namespaces (so write access to at least one other group) the fork button should be a link to the new fork page
      • If the project has forking disabled, the fork button should be disabled
      • If the user has reached the limit of projects it can create, the fork button should be disabled

The forks count button is always a link to the project forks page.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #415360

Edited by Marco Zille

Merge request reports