Difference between revisions of "Patchwork"

From Openembedded.org
Jump to: navigation, search
(Apply patches)
m (Update the state of patches)
 
(6 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
== Apply patches ==
 
== Apply patches ==
  
To apply a patch from the [http://patches.openembedded.org patchwork queue] using [[Git]], download the mbox file and apply it using
+
To apply a patch from the [http://patchwork.openembedded.org patchwork queue] using [[Git]], download the mbox file and apply it using
 
  git am < file
 
  git am < file
  
Line 14: Line 14:
 
You could also use the script in [http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/patchwork/pw-am.sh contrib/patchwork/pw-am.sh] this script will fetch an 'mbox' patch from patchwork and git am it
 
You could also use the script in [http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/patchwork/pw-am.sh contrib/patchwork/pw-am.sh] this script will fetch an 'mbox' patch from patchwork and git am it
 
  usage: pw-am.sh <number1> <number2> ...
 
  usage: pw-am.sh <number1> <number2> ...
  example: 'pw-am.sh 12 13' will get the patch from http://patches.openembedded.org/patch/12/  
+
  example: 'pw-am.sh 12 13' will get the patch from http://patchwork.openembedded.org/patch/12/  
 
  and http://patches.openembedded.org/patch/13/
 
  and http://patches.openembedded.org/patch/13/
  
 
It is desirable to update the state of the patch in the patch queue. This could also be added to the script.
 
It is desirable to update the state of the patch in the patch queue. This could also be added to the script.
 +
 +
== Multiple layers sharing the same oe project on patchwork ==
 +
 +
http://patchwork.openembedded.org/project/oe/list/
 +
is populated from openembedded-devel ML and shared by multiple projects, each project usually defines prefix which should be used when sending patches to ML ([meta-layer-name] tag should be used).
 +
 +
In order to keep main page clean, patches are split to multiple bundles, current list is:
 +
* [http://patchwork.openembedded.org/bundle/jama/2011.03-maintenance/?archive=both 2011.03-maintenance]
 +
* [http://patchwork.openembedded.org/bundle/jama/daisy/?archive=both daisy]
 +
* [http://patchwork.openembedded.org/bundle/jama/danny/?archive=both danny]
 +
* [http://patchwork.openembedded.org/bundle/jama/denzil/?archive=both denzil] 
 +
* [http://patchwork.openembedded.org/bundle/jama/dizzy/?archive=both dizzy]
 +
* [http://patchwork.openembedded.org/bundle/jama/dora/?archive=both dora]
 +
* [http://patchwork.openembedded.org/bundle/jama/dylan/?archive=both dylan]
 +
* [http://patchwork.openembedded.org/bundle/jama/fido/?archive=both fido]
 +
* [http://patchwork.openembedded.org/bundle/jama/jethro/?archive=both jethro] 
 +
* [http://patchwork.openembedded.org/bundle/jama/krogoth/?archive=both krogoth]
 +
* [http://patchwork.openembedded.org/bundle/jama/master-next/?archive=both master-next]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-browser/?archive=both meta-browser]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-efl/?archive=both meta-efl]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-erlang/?archive=both meta-erlang]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-filesystems/?archive=both meta-filesystems]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-foss-openswitch/?archive=both meta-foss-openswitch]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-fsl-arm/?archive=both meta-fsl-arm]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-games/?archive=both meta-games] 
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-gumstix/?archive=both meta-gumstix]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-handheld/?archive=both meta-handheld]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-initramfs/?archive=both meta-initramfs] 
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-intel-iot-middleware/?archive=both meta-intel-iot-middleware]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-java/?archive=both meta-java]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-kde/?archive=both meta-kde]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-networking/?archive=both meta-networking]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-opie/?archive=both meta-opie]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-perl/?archive=both meta-perl]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-qt3/?archive=both meta-qt3]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-qt4/?archive=both meta-qt4]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-qt5/?archive=both meta-qt5]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-raspberrypi/?archive=both meta-raspberrypi]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-security/?archive=both meta-security]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-systemd/?archive=both meta-systemd]
 +
* [http://patchwork.openembedded.org/bundle/jama/meta-webserver/?archive=both meta-webserver] 
 +
* [http://patchwork.openembedded.org/bundle/jama/morty/?archive=both morty]
 +
* [http://patchwork.openembedded.org/bundle/jama/oe-classic/?archive=both oe-classic] 
 +
* [http://patchwork.openembedded.org/bundle/jama/oe-classic-lic/?archive=both oe-classic-lic] 
 +
* [http://patchwork.openembedded.org/bundle/jama/toolchain-layer/?archive=both toolchain-layer]
 +
 +
master-next bundle is used for meta-efl meta-gnome meta-gpe meta-multimedia meta-oe meta-ruby meta-systemd meta-xfce changes when they are moved to jenkins build for verification build (meta-oe-contrib/jansa/master branch).
 +
 +
When some patch is moved to bundle it's archive status is set to archived, but state is still "New". That's why you need to change default filter to see archived patches in bundles.
  
 
== Update the state of patches ==
 
== Update the state of patches ==
  
You have to register to be able to update the state of patches. You can use the Web interface or `pwclient`.
+
You have to register to be able to update the state of patches. You can use the Web interface, through an email message containing an appropriately formatted string for this purpose, or `pwclient`.
 +
 
 +
=== Edit patch state through a string in email message ===
 +
 
 +
Series submitter and project maintainers can change a patch state by including a string at the end of an email message sent as reply to either the original email message or to any message in the thread. The string must be in the following format (including square brackets):
 +
 
 +
    [Patchwork-Status: <new-state>]
 +
 
 +
where <new-state> can be any of the existing states (excepting Accepted).
  
 
== pwclient ==
 
== pwclient ==
Line 27: Line 84:
 
`pwclient` can be used for example to retrieve patches, search the queue or update the state.
 
`pwclient` can be used for example to retrieve patches, search the queue or update the state.
  
All necessary information for `pwclient` is linked from the bottom of http://patches.openembedded.org/project/oe/. Use
+
All necessary information for `pwclient` is linked from the bottom of http://patchwork.openembedded.org/project/oe/. Use
  
  ./pwclient help
+
  ./pwclient --help
  
 
for an overview on how to use it.
 
for an overview on how to use it.

Latest revision as of 21:26, 24 May 2017

Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.

The URL for OpenEmbedded’s Patchwork installation is http://patches.openembedded.org. The installation is also accessible by the link in the navigation bar under oe services.

Apply patches

To apply a patch from the patchwork queue using Git, download the mbox file and apply it using

git am < file

If the submitter of the patch has not written the Subject of the email according to the OpenEmbedded policy for commit messages, then use

git commit --amend

to edit the commit message before you push.

You could also use the script in contrib/patchwork/pw-am.sh this script will fetch an 'mbox' patch from patchwork and git am it

usage: pw-am.sh <number1> <number2> ...
example: 'pw-am.sh 12 13' will get the patch from http://patchwork.openembedded.org/patch/12/ 
and http://patches.openembedded.org/patch/13/

It is desirable to update the state of the patch in the patch queue. This could also be added to the script.

Multiple layers sharing the same oe project on patchwork

http://patchwork.openembedded.org/project/oe/list/ is populated from openembedded-devel ML and shared by multiple projects, each project usually defines prefix which should be used when sending patches to ML ([meta-layer-name] tag should be used).

In order to keep main page clean, patches are split to multiple bundles, current list is:

master-next bundle is used for meta-efl meta-gnome meta-gpe meta-multimedia meta-oe meta-ruby meta-systemd meta-xfce changes when they are moved to jenkins build for verification build (meta-oe-contrib/jansa/master branch).

When some patch is moved to bundle it's archive status is set to archived, but state is still "New". That's why you need to change default filter to see archived patches in bundles.

Update the state of patches

You have to register to be able to update the state of patches. You can use the Web interface, through an email message containing an appropriately formatted string for this purpose, or `pwclient`.

Edit patch state through a string in email message

Series submitter and project maintainers can change a patch state by including a string at the end of an email message sent as reply to either the original email message or to any message in the thread. The string must be in the following format (including square brackets):

   [Patchwork-Status: <new-state>]

where <new-state> can be any of the existing states (excepting Accepted).

pwclient

`pwclient` can be used for example to retrieve patches, search the queue or update the state.

All necessary information for `pwclient` is linked from the bottom of http://patchwork.openembedded.org/project/oe/. Use

./pwclient --help

for an overview on how to use it.