Patching Nextcloud
Obtaining a patch
If you found a related pull request on GitHub that solves your issue, or you want to help developers and verify a fix works, you can get a patch for the pull request.
Using https://github.com/nextcloud/server/pull/26396 as an example.
Append
.patchto the URL: https://github.com/nextcloud/server/pull/26396.patchDownload the patch to your server and follow the Applying a patch steps.
If you are on an older Nextcloud version, you might first need to go to the correct backported patch for your version.
You can find the appropriate version by looking for a link posted by
backportbot-nextcloudto the backport pull request for your release, or by checking for a developer comment with a manual backport link. Use the.patchURL of that backport PR.
Applying a patch
Patching server
Navigate to your Nextcloud server’s root directory (the one that contains the
status.phpfile).Apply the patch with the following command:
patch -p 1 < /path/to/the/file.patch
Patching apps
Navigate to the root of the app (usually
apps/[APPID]/). If you cannot find the app there, use thesudo -E -u www-data php occ app:getpath APPIDcommand to find the path.Apply the patch with the same command as in Patching server.
Reverting a patch
Navigate to the directory where you applied the patch.
Revert the patch with the
-Roption:patch -R -p 1 < /path/to/the/file.patch
Notes and troubleshooting
Note
You may see errors about files not being found, especially when applying patches from GitHub. Patches can include development or test files (for example, files under build/ or tests/) that are not present on your installation. These messages are expected and can be ignored if they refer only to such files.