On this page
- About GitLab on Drupal.org
- How does this change ______?
- What is GitLab?
- Why not use GitLab opensource, why enterprise?
- Why not just use GitHub or X tool?
- Why can't I do a merge request?
- How can I add an integration?
- Can I turn on GitlabCI?
- How can I edit code inline?
- Is GitLab a partner of Drupal?
- Troubleshooting
- Where is the support queue for GitLab?
- I'm receiving an error message or an 'unsupported operation' warning
- Why can't I resolve an unresolved thread?
- My Git client cannot connect to the remote repository?
- I’ve encountered a ‘fatal: The remote end hung up unexpectedly error’
- I’ve received a “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”
- My Drupal.org password isn’t working for git push
- Changing Git Remotes
- rawdiff URLs are now 404ing
- I'm trying to implement CI integration but my pipeline fails with "413 Request Entity Too Large"
GitLab Frequently Asked Questions
This documentation needs work. See "Help improve this page" in the sidebar.
About GitLab on Drupal.org
How does this change ______?
In phase 1, which we released on March 29th, 2019 your workflow should not be changed. git.drupal.org’s SSH host key and SSL certificates changed. We are replacing the backend Git servers with GitLab, this enables new features such as inline editing, but does not change workflows away from the Drupal.org issue queues and patches. In phase 2, we will be able to use merge request workflows.
Git remote URLs for authenticated access and sandboxes are changing. Using your Drupal.org password to authenticate is being replaced with generated tokens to use as a Git password. HTTPS Git remotes for full projects are not changing. More information is at Git Authentication for Drupal.org Projects.
What is GitLab?
GitLab is a self hosted application that allows teams to collaborate on software. Drupal.org's GitLab instance is hosted at https://git.drupalcode.org. You can learn more about GitLab from https://about.gitlab.com.
Why not use GitLab opensource, why enterprise?
The Drupal Infrastructure team wanted to provide the best experience for the Drupal community, and to welcome new contributors into the fold. There are features in the GitLab Enterprise Edition that we felt would help us best achieve this.
Why not just use GitHub or X tool?
For a full explanation, please read: https://www.drupal.org/drupalorg/blog/developer-tools-initiative-part-2-...
Why can't I do a merge request?
We are working on enabling forks for issues and merge requests, follow progress at #2488266: [META] Improve Git workflow on Drupal.org by implementing issue workspaces & #2205815: Merge requests in Drupal.org issue queues?.
How can I add an integration?
At this point, we don't allow integrations to be added. We have an exception for Slack and for DrupalCI.
Can I turn on GitlabCI?
Please see the GitlabCI page for the latest.
How can I edit code inline?
If you are a maintainer of a project, you can use the inline code editing tool by clicking on the edit button when viewing any file.
We hope to enable use of the GitLab WebIDE soon.
Is GitLab a partner of Drupal?
Yes, GitLab is partnering with the Drupal Association. They are providing the enterprise licensing at no cost, and offering their technical skills to the engineering team.
Troubleshooting
Where is the support queue for GitLab?
The Drupal.org Infrastructure project.
I'm receiving an error message or an 'unsupported operation' warning
Some functions of GitLab are deliberately blocked in the first phase of this deployment. We'll gradually be rolling out and enabling more features over time.
Why can't I resolve an unresolved thread?
Gitlab's resolve or unresolve thread feature is great, but in the Drupal integration, there is a catch:
Only the person who opens the MR, and maybe core committers, can resolve a thread. I think the person who opens a thread should decide when it can be closed, so thanks for being explicit about that.
My Git client cannot connect to the remote repository?
Legacy Git clients do not support redirects, please update your client to support the redirect function.
I’ve encountered a ‘fatal: The remote end hung up unexpectedly error’
You may also need to run a composer lock update: composer update --lock. This is known to affect RHEL7/CentOS7 systems and any other system with a pre-1.9 git client.
I’ve received a “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”
git.drupal.org’s SSH host key's will change to due to a deployment of a new host for GitLab. You can remove the outdated hosts entry with the following command:
$ ssh-keygen -f ~/.ssh/known_hosts -R git.drupal.orgThe path to known_hosts is OS and configuration dependent it can be /root/.ssh/known_hosts or ~/.ssh/known_hosts for example.
You can validate the new host key against the known fingerprints here.
For more git troubleshooting steps, please consult our Git Authentication guide.
My Drupal.org password isn’t working for git push
Drupal.org passwords can no longer be used for Git authentication. Do not use your Drupal.org password for anything other than logging into www.drupal.org.
You can now generate a token for authentication with https Git remotes if you are unable to set up SSH keys. Go to your Drupal.org account, click “Git access,” then “Generate password” for HTTPS authentication.
Changing Git Remotes
If you are a maintainer who has an established Git remote in the format <username>@git.drupal.org:project/<yourproject>.git, the format should be changed to: git@git.drupal.org:project/<yourproject>.git. You can read more about Git Authentication for Drupal.org Projects.
rawdiff URLs are now 404ing
The most commonly used URLs from our legacy cgit server have been redirected to their GitLab equivalents. URLs like https://cgit.drupalcode.org/[project]/rawdiff/… do not have an equivalent in GitLab, so we are unable to provide a replacement. You will have to find an alternative.
I'm trying to implement CI integration but my pipeline fails with "413 Request Entity Too Large"
This can happen when the files included in your project are too large. For example, a PDF module might include vendor libraries that have fonts included. If your tests can safely run without these large files, you can remove them from the artifact that's generated by overriding the default .gitlab-ci.yml. Here's an example used in the pdf_api module that excludes fonts from a couple of vendor modules:
include:
- project: $_GITLAB_TEMPLATES_REPO
ref: $_GITLAB_TEMPLATES_REF
file:
- '/includes/include.drupalci.main.yml'
- '/includes/include.drupalci.variables.yml'
- '/includes/include.drupalci.workflows.yml'
.composer-base:
artifacts:
exclude:
- '.git'
- '.git/**/*'
- '$_WEB_ROOT/**/.git'
- '$_WEB_ROOT/**/.git/**/*'
- 'vendor/**/.git'
- 'vendor/**/.git/**/*'
- "vendor/mpdf/ttfonts/"
- "vendor/mpdf/ttfonts/**/*"
- "vendor/tecnickcom/tcpdf/fonts"
- "vendor/tecnickcom/tcpdf/fonts/**/*"Credit goes to fjgarlin for providing the instructions on how to do this.
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.