patman: Add a Series-patchwork-url option
authorSimon Glass <sjg@chromium.org>
Tue, 3 Nov 2020 20:54:16 +0000 (13:54 -0700)
committerSimon Glass <sjg@chromium.org>
Sat, 14 Nov 2020 22:23:41 +0000 (15:23 -0700)
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>
tools/patman/README
tools/patman/control.py
tools/patman/series.py

index 639c994..6b80663 100644 (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
index a3c50cd..2330682 100644 (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
index 4457719..1d92bdb 100644 (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.