1- Proposing a Change
1+ Submitting a Patch
22==================
33
4- A pull request, "PR" for short, is the best way to provide a bug fix or to
5- propose enhancements to Symfony.
4+ Patches are the best way to provide a bug fix or to propose enhancements to
5+ Symfony.
66
7- Step 1: Check existing Issues and Pull Requests
8- -----------------------------------------------
9-
10- Before working on a change, check to see if someone else also raised the topic
11- or maybe even started working on a PR by `searching on GitHub `_.
12-
13- If you are unsure or if you have any questions during this entire process,
14- please ask your questions on the #contribs channel on `Symfony Slack `_.
15-
16- .. _step-1-setup-your-environment :
17-
18- Step 2: Setup your Environment
7+ Step 1: Setup your Environment
198------------------------------
209
2110Install the Software Stack
@@ -101,27 +90,20 @@ Check that the current Tests Pass
10190Now that Symfony is installed, check that all unit tests pass for your
10291environment as explained in the dedicated :doc: `document <tests >`.
10392
104- .. tip ::
105-
106- If tests are failing, check on `Travis-CI `_ if the same test is
107- failing there as well. In that case you do not need to be concerned
108- about the test failing locally.
109-
110- .. _step-2-work-on-your-patch :
111-
112- Step 3: Work on your Pull Request
113- ---------------------------------
93+ Step 2: Work on your Patch
94+ --------------------------
11495
11596The License
11697~~~~~~~~~~~
11798
118- Before you start, you should be aware that all the code you are going to submit
119- must be released under the *MIT license *.
99+ Before you start, you must know that all the patches you are going to submit
100+ must be released under the *MIT license *, unless explicitly specified in your
101+ commits.
120102
121103Choose the right Branch
122104~~~~~~~~~~~~~~~~~~~~~~~
123105
124- Before working on a PR , you must determine on which branch you need to
106+ Before working on a patch , you must determine on which branch you need to
125107work:
126108
127109* ``3.4 ``, if you are fixing a bug for an existing feature or want to make a
@@ -134,28 +116,28 @@ work:
134116.. note ::
135117
136118 All bug fixes merged into maintenance branches are also merged into more
137- recent branches on a regular basis. For instance, if you submit a PR
138- for the ``3.4 `` branch, the PR will also be applied by the core team on
119+ recent branches on a regular basis. For instance, if you submit a patch
120+ for the ``3.4 `` branch, the patch will also be applied by the core team on
139121 the ``master `` branch.
140122
141123Create a Topic Branch
142124~~~~~~~~~~~~~~~~~~~~~
143125
144- Each time you want to work on a PR for a bug or on an enhancement, create a
126+ Each time you want to work on a patch for a bug or on an enhancement, create a
145127topic branch:
146128
147129.. code-block :: terminal
148130
149131 $ git checkout -b BRANCH_NAME master
150132
151- Or, if you want to provide a bug fix for the ``3.4 `` branch, first track the remote
133+ Or, if you want to provide a bugfix for the ``3.4 `` branch, first track the remote
152134``3.4 `` branch locally:
153135
154136.. code-block :: terminal
155137
156138 $ git checkout -t origin/3.4
157139
158- Then create a new branch off the ``3.4 `` branch to work on the bug fix :
140+ Then create a new branch off the ``3.4 `` branch to work on the bugfix :
159141
160142.. code-block :: terminal
161143
@@ -185,10 +167,8 @@ uses, and replaces them by symbolic links to the ones in the Git repository.
185167 Before running the ``link `` command, be sure that the dependencies of the project you
186168want to debug are installed by running ``composer install `` inside it.
187169
188- .. _work-on-your-patch :
189-
190- Work on your Pull Request
191- ~~~~~~~~~~~~~~~~~~~~~~~~~
170+ Work on your Patch
171+ ~~~~~~~~~~~~~~~~~~
192172
193173Work on the code as much as you want and commit as much as you want; but keep
194174in mind the following:
@@ -201,7 +181,7 @@ in mind the following:
201181 actually works;
202182
203183* Try hard to not break backward compatibility (if you must do so, try to
204- provide a compatibility layer to support the old way) -- PRs that break
184+ provide a compatibility layer to support the old way) -- patches that break
205185 backward compatibility have less chance to be merged;
206186
207187* Do atomic and logically separate commits (use the power of ``git rebase `` to
@@ -230,12 +210,10 @@ in mind the following:
230210 verb (``fixed ... ``, ``added ... ``, ...) to start the summary and don't
231211 add a period at the end.
232212
233- .. _prepare-your-patch-for-submission :
234-
235- Prepare your Pull Request for Submission
236- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
213+ Prepare your Patch for Submission
214+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
237215
238- When your PR is not about a bug fix (when you add a new feature or change
216+ When your patch is not about a bug fix (when you add a new feature or change
239217an existing one for instance), it must also include the following:
240218
241219* An explanation of the changes in the relevant ``CHANGELOG `` file(s) (the
@@ -245,20 +223,16 @@ an existing one for instance), it must also include the following:
245223 ``UPGRADE `` file(s) if the changes break backward compatibility or if you
246224 deprecate something that will ultimately break backward compatibility.
247225
248- .. _step-4-submit-your-patch :
249-
250- Step 4: Submit your Pull Request
251- --------------------------------
226+ Step 3: Submit your Patch
227+ -------------------------
252228
253- Whenever you feel that your PR is ready for submission, follow the
229+ Whenever you feel that your patch is ready for submission, follow the
254230following steps.
255231
256- .. _rebase-your-patch :
232+ Rebase your Patch
233+ ~~~~~~~~~~~~~~~~~
257234
258- Rebase your Pull Request
259- ~~~~~~~~~~~~~~~~~~~~~~~~
260-
261- Before submitting your PR, update your branch (needed if it takes you a
235+ Before submitting your patch, update your branch (needed if it takes you a
262236while to finish your changes):
263237
264238.. code-block :: terminal
@@ -272,7 +246,7 @@ while to finish your changes):
272246 .. tip ::
273247
274248 Replace ``master `` with the branch you selected previously (e.g. ``3.4 ``)
275- if you are working on a bug fix.
249+ if you are working on a bugfix
276250
277251When doing the ``rebase `` command, you might have to fix merge conflicts.
278252``git status `` will show you the *unmerged * files. Resolve all the conflicts,
@@ -299,7 +273,7 @@ You can now make a pull request on the ``symfony/symfony`` GitHub repository.
299273.. tip ::
300274
301275 Take care to point your pull request towards ``symfony:3.4 `` if you want
302- the core team to pull a bug fix based on the ``3.4 `` branch.
276+ the core team to pull a bugfix based on the ``3.4 `` branch.
303277
304278To ease the core team work, always include the modified components in your
305279pull request message, like in:
@@ -322,10 +296,10 @@ Some answers to the questions trigger some more requirements:
322296* If you answer yes to "New feature?", you must submit a pull request to the
323297 documentation and reference it under the "Doc PR" section;
324298
325- * If you answer yes to "BC breaks?", the PR must contain updates to the
299+ * If you answer yes to "BC breaks?", the patch must contain updates to the
326300 relevant ``CHANGELOG `` and ``UPGRADE `` files;
327301
328- * If you answer yes to "Deprecations?", the PR must contain updates to the
302+ * If you answer yes to "Deprecations?", the patch must contain updates to the
329303 relevant ``CHANGELOG `` and ``UPGRADE `` files;
330304
331305* If you answer no to "Tests pass", you must add an item to a todo-list with
@@ -352,8 +326,7 @@ because you want early feedback on your work, add an item to todo-list:
352326 - [ ] gather feedback for my changes
353327
354328 As long as you have items in the todo-list, please prefix the pull request
355- title with "[WIP]". If you do not yet want to trigger the automated tests,
356- you can also set the PR to `draft status `_.
329+ title with "[WIP]".
357330
358331In the pull request description, give as much details as possible about your
359332changes (don't hesitate to give code examples to illustrate your points). If
@@ -366,29 +339,11 @@ commit message).
366339In addition to this "code" pull request, you must also send a pull request to
367340the `documentation repository `_ to update the documentation when appropriate.
368341
369- Step 5: Receiving Feedback
370- --------------------------
371-
372- We ask all contributors to follow some
373- :doc: `best practices </contributing/community/reviews >`
374- to ensure a constructive feedback process.
375-
376- If you think someone fails to keep this advice in mind and you want another
377- perspective, please join the #contribs channel on `Symfony Slack `_. If you
378- receive feedback you find abusive please contact the
379- :doc: `CARE team</contributing/code_of_conduct/care_team.rst> `.
380-
381- The :doc: `core team <contributing/code/core_team >` is responsible for deciding
382- which PR gets merged, so their feedback is the most relevant. So do not feel
383- pressured to refactor your code immediately when someone provides feedback.
384-
385- .. _rework-your-patch :
386-
387- Rework your Pull Request
388- ~~~~~~~~~~~~~~~~~~~~~~~~
342+ Rework your Patch
343+ ~~~~~~~~~~~~~~~~~
389344
390345Based on the feedback on the pull request, you might need to rework your
391- PR . Before re-submitting the PR , rebase with ``upstream/master `` or
346+ patch . Before re-submitting the patch , rebase with ``upstream/master `` or
392347``upstream/3.4 ``, don't merge; and force the push to the origin:
393348
394349.. code-block :: terminal
@@ -419,7 +374,3 @@ before merging.
419374.. _`fabbot` : https://fabbot.io
420375.. _`PSR-1` : https://www.php-fig.org/psr/psr-1/
421376.. _`PSR-2` : https://www.php-fig.org/psr/psr-2/
422- .. _`searching on GitHub` : https://github.com/symfony/symfony/issues?q=+is%3Aopen+
423- .. _`Symfony Slack` : https://symfony.com/slack-invite
424- .. _`Travis-CI` : https://travis-ci.org/symfony/symfony
425- .. _`draft status` : https://help.github.com/en/articles/about-pull-requests#draft-pull-requests
0 commit comments