gitlab-ce: create fork repo in pool
This would happen during or right after the creation of a forked project.
- SQL: create project linked to pool. Project is in "being cloned" state
- Gitaly: PoolService::PrepareCloneInPool
- Gitaly: PoolService::LinkRepositoryToPool
- SQL: clear project "being cloned" state
This goal of this sequence of steps is that we don't get in trouble if we fail in the middle. Think about it yourself if you believe this to be true.
The behavior is gated on the following conditions:
- Is the parent project in a pool?
- Is the new project public?
- Is the object deduplication feature enabled?
- Is the new project using hashed storage?
Edited by Zeger-Jan van de Weg