Forking Workflow
The forking workflow means that everyone on a team has permission to fork a |repo| and once they have completed their work, open a pull request to have it accepted into the main |repo|.
In a forking workflow, not everyone will have write access to the main |repo|. This means that only those with write access can merge |prs| once they have been approved. Usually, the forking workflow is used with |hg|, and branching with |git|.
Forking Overview
![../images/fork-flow.png](/u/pc/rhodecode-enterprise-ce-fork-pc/raw/c5bccf3633a33e504f8251947dc02baa3c95638f/docs/images/fork-flow.png)
Setting Up a Forking Workflow
Setting up a forking workflow in |RCE| would look something like this.
- Create a user group with write access.
- Create a user group with read access.
- Assign team members to the appropriate groups.
- Users with contributions should open a pull request to the main |repo| and set a user with write access as the reviewer.
- Once the |pr| is approved, the write access user would merge it with the main |repo|.
For more information about setting up user groups, see the :ref:`user-admin-set` section.
Using a Forking Workflow
If you are on a team that uses a forking workflow, see the :ref:`forks-branches-ref` section for how to fork a |repo|, and also the :ref:`pull-requests-ref` section.