Apply patch
Have you opened a support ticket and received a patch or a link to a patch? Here’s the simple procedure to apply it!
Simplified procedure (Majority of cases)
The support service:
attached a patch file (with a .patch or .diff extension) to their response
or provided you with a link to the same type of file
example:
https://xxx/bug-fix.diffor:
https://xxx/bug-fix.patch
Place the patch in the correct location
Depending on where the encountered bug is, the patch may be intended for the core or a plugin. It is therefore necessary to place the patch in the correct location before applying it.
The patch concerns the GLPI core
A file was provided to you: Move the previously created file to the GLPI root folder.
A link was provided to you: Go to the GLPI root folder and run the following command to download the patch:
Then check that the file is present:

The patch concerns a Plugin
A file was provided to you: Move the previously created file to the plugin root folder.
A link was provided to you: Go to the plugin root folder and run the following command to download the patch:
Then check that the file is present:

Test the patch
Before appling patch, you have to test it with this command and parameter --dry-run
Test is failed ❌
In case of an error you should have this
Many things can lead to failure :
Your version of GLPI is different from the version used to make the patch
The file that must be modified by the patch has already been previously
Stop here and contact support, explaining your issue (feel free to include screenshots, GLPI version, command used, etc.)
Test is successfull ✅
In case of a success you should have this
or this
Apply the patch
Test successful ✅? You can now actually apply the patch with this command
Congratulation the patch is applied !
Special cases (rare)
The support service:
asks you to revert / undo the patch
provided you with a commit number
provided you with a link to a PR
Cancel a patch
To cancel a patch, enter the command :
You have a commit number
Service support give you this commit number ex: adc9876
First, you need to retrieve changes from commit
Go to
https://github.com/glpi-project/glpi/commit/ + COMMIT_NUMBER
Example
https://github.com/glpi-project/glpi/commit/adc9876

Then, transform the commit into a patch by adding
.diffat the end of url.
Like this https://github.com/glpi-project/glpi/commit/adc9876.diff

Copy the patch URL and run a wget on your GLPI server
wget https://github.com/glpi-project/glpi/commit/adc9876.diff
You have PR number (Pull Request)
Service support give you a PR number 4770
First, you need to retrieve the PR
Go to
https://github.com/glpi-project/glpi/pull/ + PR_NUMBER
Example
https://github.com/glpi-project/glpi/pull/4770

First , transform the PR into a patch by adding
.diffat the end of url.
Like this https://github.com/glpi-project/glpi/pull/4770.diff

Copy the patch URL and run a
wgeton your GLPI serverwget https://github.com/glpi-project/glpi/pull/4770.diff
Finally, go to apply patch section
Check that the patch binary is installed
To known if it installed, just find the version of the binary patch installed
If it installed you should have this
If not you should have this
Install it with this command
Ubuntu/Debian
CentOS/RHEL
Last updated