On this page
Introduction
Introduction to Issue Forks and Merge Requests
A video introduction to this workflow is available at https://youtu.be/NIWCXE-aM6Y.
From November 2020, contributing source code changes to a Drupal project repository shifted from a patch-based workflow to a more modern approach using issue forks and merge requests. While the patch-based workflow is still supported, the new method is now the standard for collaboration.
This new workflow uses GitLab, a web-based Git repository platform. It mirrors practices commonly seen on platforms like GitHub, enabling contributors to collaborate more efficiently.
Before getting started, ensure you have set up Git properly. The steps below outline the key stages of this workflow:
- A contributor creates an issue fork for the project. This creates a dedicated, temporary repository associated with the issue, where changes to files can be made.
- Contributors make changes by committing and pushing updates to the issue fork.
- When the changes are ready for review, a contributor submits a merge request. This formal proposal links to the relevant issue and requests to integrate the changes into the target branch of the main repository.
- The merge request undergoes automated testing (if the project maintainer has set up automated testing) and is reviewed by community members. Additional commits may be added to the fork, based on feedback.
- Once the community deems the merge request ready, it goes through a final review by a project maintainer. If necessary, it may be sent back for further changes.
- When the project maintainer approves the merge request, they merge it into the main repository.
For project maintainers, additional guidance on managing and merging requests is available on the Reviewing and merging merge requests page.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion
Still on Drupal 7? Security support for Drupal 7 ended on 5 January 2025. Please visit our Drupal 7 End of Life resources page to review all of your options.