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>
diff --git a/tools/patman/README b/tools/patman/README
index 639c994..6b80663 100644
--- a/tools/patman/README
+++ b/tools/patman/README
@@ -208,6 +208,12 @@
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
diff --git a/tools/patman/control.py b/tools/patman/control.py
index a3c50cd..2330682 100644
--- a/tools/patman/control.py
+++ b/tools/patman/control.py
@@ -196,7 +196,8 @@
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 @@
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
diff --git a/tools/patman/series.py b/tools/patman/series.py
index 4457719..1d92bdb 100644
--- a/tools/patman/series.py
+++ b/tools/patman/series.py
@@ -16,7 +16,7 @@
# 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.