Change Submission#

This page provides a high-level overview of how to submit code changes to projects that are hosted on


To propose changes to a module hosted on GNOME’s GitLab instance, you will need:

  • A system where you can develop and make your changes

  • To be logged into

  • An SSH key that you have uploaded to your GitLab account (see SSH Keys)

  • The ability to build and test the software module that you are going to make changes to (see building)

  • A basic understanding of how to use Git version control

Process steps#

The following are the basic steps required to submit code or other changes:

  1. In, find the project that you want to change

  2. If there isn’t an issue report for the thing that you want to improve, create one

  3. Create your own personal copy of the project by forking it (see GitLab’s forking workflow guide)

  4. Create a local clone of your fork

  5. Make your changes in the local clone:

    • Create and switch to a new branch

    • Make your changes

    • Build and test your changes

    • Commit your changes with an appropriate commit message

    • Push your branch to your fork in GitLab

  6. In GitLab, create a merge request (MR) to have the branch in your fork merged into the upstream main branch. (Remember to reference the issue that the MR will fix.)

  7. Go through the MR review process:

    • Wait for a maintainer to review your MR

    • When the MR is reviewed, you will likely need to change it in response to the reviewers comments

    • Once all MR comments are resolved, your changes will be merged