Remove fork relationship when the visibility of the parent is restricted
Problem to solve
If I fork a popular public project on GitLab.com but the author of that project makes it private, my fork will become private without warning.
This would be a serious problem if the original project is unmaintained, and my fork is now the actively developed fork with a large amount of community activity. At the moment, the original author might decide to make their project private to reduce confusion or some other reason, and without any warning seriously mess up numerous forks.
The current GitLab behavior also is inconsistent with GitHub, who simply remove the relationship the parent/root project is moved from public to private.
When a project that is public or internal and the visibility is reduced to internal or private, remove the relationship between that project and it's forks.
Visibility, project features, permissions project settings.
graph TD Root[john/spark-lib]-->A[mary/spark-lib] Root-->B[paul/spark-lib] A-->J[chris/spark-lib] A-->K[james/spark-lib] A-->L[helen/spark-lib] A-->M[jane/spark-lib]
graph TD Root[john/spark-lib]-.->|removed|A[mary/spark-lib] Root-.->|removed|B[paul/spark-lib] A-->J[chris/spark-lib] A-->K[james/spark-lib] A-->L[helen/spark-lib] A-->M[jane/spark-lib]