Remove ability to create duplicate label names across project/group levels
Problem to solve
Duplicating labels has created a few issues that now need resolving:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/51968
- https://gitlab.com/gitlab-org/gitlab-ce/issues/49047
- https://gitlab.com/gitlab-org/gitlab-ce/issues/46942
We need to improve the user experience of managing labels.
Proposal
We don't encourage the creation of duplicate labels - and instead encourage use of the highest level group label. If we suggest this:
Then once they click "add default lists" - GitLab should use the highest group level label rather than create new project labels with the same names as the group(s).
- If a user tries to create a new label and there is already a group label with that name, the system should prevent them from creating the duplicate label and insist they use the group label.
- If a user tries to create a new label on the group level and there is already an existing label with the same name in a child project, the system should insist that they go promote that label to the top most parent group.
There may be some issues with permissions here - i.e. managing labels at a group level when a user doesn't have permission to do that but wants to manage labels in their own project.
What does success look like?
- Cleaner label management and less risk of creating bugs where duplicate labels conflict.
- Users are never able to create a label with the same name anywhere within a top level group and all of its descendant groups and projects.
Edited by Gabe Weaver