@@ -11,7 +11,7 @@ perlhack - How to hack on Perl
11
11
=head1 DESCRIPTION
12
12
13
13
This document explains how Perl development works. It includes details
14
- about the Perl 5 Porters email list, the Perl repository, the Perlbug
14
+ about the Perl 5 Porters email list, the Perl repository, the Perl
15
15
bug tracker, patch guidelines, and commentary on Perl development
16
16
philosophy.
17
17
@@ -36,6 +36,13 @@ latest version directly from the perl source:
36
36
37
37
% perldoc pod/perlhack.pod
38
38
39
+ =item * Create a branch for your change
40
+
41
+ Create a branch based on blead to commit your change to, which will
42
+ later be used to send it to the Perl issue tracker.
43
+
44
+ % git checkout -b mychange
45
+
39
46
=item * Make your change
40
47
41
48
Hack, hack, hack. Keep in mind that Perl runs on many different
@@ -61,29 +68,23 @@ Committing your work will save the change I<on your local system>:
61
68
Make sure the commit message describes your change in a single
62
69
sentence. For example, "Fixed spelling errors in perlhack.pod".
63
70
64
- =item * Send your change to perlbug
71
+ =item * Send your change to the Perl issue tracker
65
72
66
- The next step is to submit your patch to the Perl core ticket system
67
- via email.
73
+ The next step is to submit your patch to the Perl core ticket system.
68
74
69
- If your changes are in a single git commit, run the following commands
70
- to generate the patch file and attach it to your bug report:
75
+ Create a GitHub fork of the perl5 repository and add it as a remote,
76
+ if you haven't already, as described in the GitHub documentation at
77
+ L<https://help.github.com/en/articles/working-with-forks>.
71
78
72
- % git format-patch -1
73
- % ./perl -Ilib utils/perlbug -p 0001-*.patch
79
+ % git remote add fork
[email protected] :MyUser/perl5.git
74
80
75
- The perlbug program will ask you a few questions about your email
76
- address and the patch you're submitting. Once you've answered them it
77
- will submit your patch via email.
81
+ Then, push your new branch to your fork.
78
82
79
- If your changes are in multiple commits, generate a patch file for each
80
- one and provide them to perlbug's C<-p> option separated by commas:
83
+ % git push -u fork mychange
81
84
82
- % git format-patch -3
83
- % ./perl -Ilib utils/perlbug -p 0001-fix1.patch,0002-fix2.patch,\
84
- > 0003-fix3.patch
85
-
86
- When prompted, pick a subject that summarizes your changes.
85
+ Finally, create a Pull Request on GitHub from your branch to blead as
86
+ described in the GitHub documentation at
87
+ L<https://help.github.com/en/articles/creating-a-pull-request-from-a-fork>.
87
88
88
89
=item * Thank you
89
90
@@ -107,6 +108,7 @@ latest perl in a pristine state. Check you don't have any local changes
107
108
or added files in your perl check-out which you wish to keep, then run
108
109
these commands:
109
110
111
+ % git checkout blead
110
112
% git pull
111
113
% git reset --hard origin/blead
112
114
% git clean -dxf
@@ -218,27 +220,15 @@ Perl source.
218
220
219
221
=head2 Submitting patches
220
222
221
- If you have a small patch to submit, please submit it via perlbug. You
222
- can also send email directly to
[email protected] . Please note that
223
- messages sent to perlbug may be held in a moderation queue, so you
224
- won't receive a response immediately.
223
+ If you have a small patch to submit, please submit it via the GitHub
224
+ Pull Request workflow. You may also send patches to the p5p list.
225
225
226
- You'll know your submission has been processed when you receive an
227
- email from our ticket tracking system. This email will give you a
228
- ticket number. Once your patch has made it to the ticket tracking
229
- system, it will also be sent to the
[email protected] list.
230
-
231
- If your patch is related to an already-opened ticket you can also
232
- attach your patch to that ticket, without having to use perlbug.
233
-
234
- Patches are reviewed and discussed on the p5p list. Simple,
226
+ Patches are reviewed and discussed on GitHub or the p5p list. Simple,
235
227
uncontroversial patches will usually be applied without any discussion.
236
228
When the patch is applied, the ticket will be updated and you will
237
- receive email. In addition, an email will be sent to the p5p list.
238
-
239
- In other cases, the patch will need more work or discussion. That will
240
- happen on the p5p list.
229
+ receive email.
241
230
231
+ In other cases, the patch will need more work or discussion.
242
232
You are encouraged to participate in the discussion and advocate for
243
233
your patch. Sometimes your patch may get lost in the shuffle. It's
244
234
appropriate to send a reminder email to p5p if no action has been taken
@@ -258,6 +248,10 @@ can do to help the Perl 5 Porters accept your patch.
258
248
259
249
=head3 Patch style
260
250
251
+ Using the GitHub Pull Request workflow, your patch will automatically
252
+ be available in a suitable format. If you wish to submit a patch to
253
+ the p5p list for review, make sure to create it appropriately.
254
+
261
255
If you used git to check out the Perl source, then using C<git
262
256
format-patch> will produce a patch in a style suitable for Perl. The
263
257
C<format-patch> command produces one patch file for each commit you
0 commit comments