Group permissions do not allow project moves between namespaces
Summary
When trying to transfer a project from Namespace B to Namespace A permissions are not enforced consistently. Members of a namespace with Owner permissions via a Group cannot transfer a project into that namespace. This appears to be inconsistent, as a member of a Namespace with Owner permissions can give themselves a direct Owner role, which allows the migration to be performed.
Steps to reproduce
- Create two namespaces: Namespace A and Namespace B
- In Namespace A give a second user Owner access
- In Namespace B give Namespace A Owner access
- Create a project in Namespace A
- Have the second user try to move the project from Namespace A to Namespace B.
Example Project
https://gitlab.com/project-migration-test2/move_this
https://gitlab.com/project-migration-test2
https://gitlab.com/project-migration-test
What is the current bug behavior?
Can't migrate a project with apparently correct permissions
What is the expected correct behavior?
Should be able to migrate projects both ways.
Relevant logs and/or screenshots
N/A
Output of checks
N/A
Results of GitLab environment info
Reproduced on Gitlab.com
GitLab Enterprise Edition 13.8.0-pre f3039f5f
Possible fixes
Edited by Melissa Ushakov