This guide is meant as a complement to Laszlo's more official guide, in order to fill some missing bits and pieces.
This assumes that you cloned the
edk2-non-osi repository and set up
edk2.diff.order and so on.
As per Laslzo's guide, the first thing you want to do before sending any patchset is validate that it passes the checks with something like:
/c/python3/python /d/edk2/BaseTools/Scripts/PatchCheck.py -3
-3 at the end tells how many patches the script should check. In this case this assumes that you have a pacthset of 3 commits.
If the check passes, you will want to generate the
.patch files and cover letter with something like this:
git format-patch --notes -O /d/edk2.diff.order --subject-prefix="`edk2-platform][PATCH" --stat=1000 --stat-graph-width=20 -M origin/master -3 HEAD
Once again, the
-3 above indicates how many commits should be picked.
You will also note that the line above uses
which results in each patch appearing on the list as
[edk2-platforms][PATCH x/3] <commit title>, which is useful to differentiate
edk2-platforms from straight
If you are sending a patch to
edk2, you should of course drop the
Note that if you are sending a revised version of a patchset, you should add a
v3 to subject prefix to have something like
From there, you will have a bunch of
.patch files as well a
0000-cover-letter.patch. Depending on the nature of the patchset,
you want to either delete the cover letter (single small patch) or edit it to detail the changes being applied by the patchset.
Sending the patchset
Then you need to find out what maintainers you need to add in CC of your patchset (since the list is high volume, and maintainers
may miss patches unless in explicit CC).Each of the edk2 repos has a
Maintainers.txt that tell you the maintainers for each
module or platform.
For instance, when it comes to sending Rasbperry Pi patches, you want to have Ard and Leif in CC since they are the official maintainers for the platform, and therefore use something like:
git send-email -email@example.com -firstname.lastname@example.org --suppress-cc=author --suppress-cc=self --suppress-cc=cc --suppress-cc=sob *.patch
Note that this command will send any
.patch file that resides in your repository, so you may want to make sure that there aren't
any leftovers from previous patchsets before issuing the above.
And of course, you need to have set up your git config accordingly to send e-mail to the list, with something like:
[sendemail] chainreplyto = false thread = true smtpserver = smtp.gmail.com smtpserverport = 587 smtpencryption = tls smtpuser = email@example.com smtppass = ######################### from = Pete Batard <firstname.lastname@example.org> to = email@example.com