Skip to content

Commit ee229f5

Browse files
committed
feat(applying-patch): improve some details
Signed-off-by: Simon L. <[email protected]>
1 parent 35de35f commit ee229f5

File tree

1 file changed

+28
-10
lines changed

1 file changed

+28
-10
lines changed

admin_manual/issues/applying_patch.rst

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,57 @@
22
Patching Nextcloud
33
==================
44

5+
Obtaining a patch
6+
-----------------
7+
8+
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.
9+
10+
1. Using https://github.com/nextcloud/server/pull/26396 as an example.
11+
2. Append ``.diff`` to the URL: https://github.com/nextcloud/server/pull/26396.diff
12+
3. Download the patch to your server e.g. via ``wget https://github.com/nextcloud/server/pull/26396.diff`` (this will place ``26396.diff`` in the local directory)
13+
4. Follow the `Applying a patch`_ steps.
14+
5. If you are on an older Nextcloud version, you might first need to go to the correct backported patch for your version.
15+
16+
.. image:: images/getting-a-patch-from-github.png
17+
:alt: backportbot-nextcloud linking to the pull request for an older version.
18+
19+
6. You can find the appropriate version by looking for a link posted by ``backportbot-nextcloud`` to the backport pull request for your release, or by checking for a developer comment with a manual backport link. Use the ``.diff`` URL of that backport PR.
20+
521
Applying a patch
622
----------------
723

824
Patching server
925
^^^^^^^^^^^^^^^
1026

11-
1. Navigate into your Nextcloud server's root directory (contains the ``status.php`` file)
12-
2. Now apply the patch with the following command::
27+
1. Navigate to your Nextcloud server's root directory (the one that contains the ``status.php`` file).
28+
2. Download the patch to your server e.g. via ``wget https://github.com/nextcloud/server/pull/26396.diff`` (this will place ``26396.diff`` in the local directory)
29+
3. Apply the patch with the following command::
1330

14-
patch -p 1 < /path/to/the/file.patch
31+
patch -p 1 < ./26396.diff
1532

16-
3. Alternatively, if the patch command is not available, use::
33+
4. Alternatively, if the patch command is not available, use::
1734

18-
git apply --check /path/to/the/file.diff
19-
git apply /path/to/the/file.diff
35+
git apply --check ./26396.diff
36+
git apply ./26396.diff
2037

2138
Patching apps
2239
^^^^^^^^^^^^^
2340

24-
1. Navigate to the root of this app (mostly ``apps/[APPID]/``), if you can not find the app there use the ``sudo -E -u www-data php occ app:getpath APPID`` command to find the path.
25-
2. Now apply the patch with the same command as in `Patching server`_
41+
1. Navigate to the root of the app (usually ``apps/[APPID]/``). If you cannot find the app there, use the ``sudo -E -u www-data php occ app:getpath APPID`` command to find the path.
42+
2. Download the patch to your server e.g. via ``wget https://github.com/nextcloud/<app>/pull/26396.diff`` (this will place ``26396.diff`` in the local directory)
43+
3. Apply the patch with the same command as in `Patching server`_.
2644

2745
Reverting a patch
2846
-----------------
2947

3048
1. Navigate to the directory where you applied the patch.
3149
2. Now revert the patch with the ``-R`` option::
3250

33-
patch -R -p 1 < /path/to/the/file.patch
51+
patch -R -p 1 < ./26396.diff
3452

3553
3. Alternatively, if the patch command is not available, use::
3654

37-
git apply --reverse /path/to/the/file.diff
55+
git apply --reverse ./26396.diff
3856

3957
Notes and troubleshooting
4058
-------------------------

0 commit comments

Comments
 (0)