Introduction

Last updated on
22 January 2025

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:

  1. 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.
  2. Contributors make changes by committing and pushing updates to the issue fork.
  3. 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.
  4. 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.
  5. 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.
  6. 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

Page status: No known problems

You can: