[yocto] interacting with patchwork / unmerged development work

Trevor Woerner twoerner at gmail.com
Tue May 29 08:50:46 PDT 2018


Hello,

One of the minor inconveniences with submitting patches to this project, is to
work on a patch against master (for example), submit it, then find that
yesterday someone submitted a patch against the same file you're editing
causing your patch to not apply with what the maintainer is going to test.

Do people have tricks or workflows for syncing their repositories with, say,
master PLUS any patches which have been sent to the list since the last time
(in this case) master was updated?

OR: is there an easy way to retrieve what is going to be tested in the next
test cycle?

OR: would it be possible to tweak patchwork such that all received patches
could be automatically applied to a given branch? Developers could then work
off that branch and have a better chance of being in-sync? Maintainers could
then prune that branch, removing any patches that have been rejected or need
more work.

I dug around and found two command-line utilities for interacting with
patchwork:
	- pwclient
	- git-pw

I can't seem to get either to work.

Using the following ~/.pwclientrc (which is obtained from the OE patchwork
server itself: https://patchwork.openembedded.org/project/oe/ and
https://patchwork.openembedded.org/project/oe/pwclientrc/)

	[options]
	default=oe

	[oe]
	url= https://patchwork.openembedded.org/xmlrpc/

I get a timeout error:

	$ pwclient list
	Traceback (most recent call last):
	  File "/home/trevor/local/bin/pwclient", line 10, in <module>
	    sys.exit(main())
	  File "/home/trevor/local/lib/python2.7/site-packages/pwclient/shell.py", line 190, in main
	    action_list(rpc, filt, submitter_str, delegate_str, format_str)
	  File "/home/trevor/local/lib/python2.7/site-packages/pwclient/patches.py", line 114, in action_list
	    patches = rpc.patch_list(filter.d)
	  File "/usr/lib64/python2.7/xmlrpclib.py", line 1243, in __call__
	    return self.__send(self.__name, args)
	  File "/usr/lib64/python2.7/xmlrpclib.py", line 1602, in __request
	    verbose=self.__verbose
	  File "/usr/lib64/python2.7/xmlrpclib.py", line 1283, in request
	    return self.single_request(host, handler, request_body, verbose)
	  File "/usr/lib64/python2.7/xmlrpclib.py", line 1331, in single_request
	    response.msg,
	xmlrpclib.ProtocolError: <ProtocolError for patchwork.openembedded.org/xmlrpc/: 504 Gateway Time-out>

For git-pw, it always seems to want a username/password, regardless of the
operation, even though listing or retrieving patches shouldn't need a login:

	$ git config pw.server https://patchwork.openembedded.org
	$ git config pw.project oe
	$ git pw patch list
	Authentication information missing
	You must configure authentication via git-config or via --token or --username, --password

In any case, even if one of these were working, I'd still need to be able to
generate a list of patch IDs since the last test. I have no idea how I'd go
about doing that since I don't think the last accepted patch ID is known.
Also, a list of currently-accepted patches isn't given anywhere either (that
I'm aware).

Any thoughts?

Best regards,
	Trevor


More information about the yocto mailing list