patman: Add a Series-patchwork-url option

Add a commit tag to allow the Patchwork URL to be specified in a commit.
This can be handy for when you submit code to multiple projects but don't
want to use the -p option.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-11-03 13:54:16 -07:00
parent a55be354c0
commit fcbec650e6
3 changed files with 13 additions and 2 deletions

View file

@ -208,6 +208,12 @@ Series-links: [id | version:id]...
branch against patchwork to see what new reviews your series has
collected ('patman status').
Series-patchwork-url: url
This allows specifying the Patchwork URL for a branch. This overrides
both the setting files and the command-line argument. The URL should
include the protocol and web site, with no trailing slash, for example
'https://patchwork.ozlabs.org/project'
Cover-letter:
This is the patch set title
blah blah

View file

@ -196,7 +196,8 @@ def patchwork_status(branch, count, start, end, dest_branch, force,
force (bool): With dest_branch, force overwriting an existing branch
show_comments (bool): True to display snippets from the comments
provided by reviewers
url (str): URL of patchwork server, e.g. 'https://patchwork.ozlabs.org'
url (str): URL of patchwork server, e.g. 'https://patchwork.ozlabs.org'.
This is ignored if the series provides a Series-patchwork-url tag.
Raises:
ValueError: if the branch has no Series-link value
@ -225,6 +226,10 @@ def patchwork_status(branch, count, start, end, dest_branch, force,
if not found:
raise ValueError('Series-links has no current version (without :)')
# Allow the series to override the URL
if 'patchwork_url' in series:
url = series.patchwork_url
# Import this here to avoid failing on other commands if the dependencies
# are not present
from patman import status

View file

@ -16,7 +16,7 @@ from patman import tools
# Series-xxx tags that we understand
valid_series = ['to', 'cc', 'version', 'changes', 'prefix', 'notes', 'name',
'cover_cc', 'process_log', 'links']
'cover_cc', 'process_log', 'links', 'patchwork_url']
class Series(dict):
"""Holds information about a patch series, including all tags.