Patman is a useful tool for creating, checking sending out patches. It
automates the creation of patches, simplifies checking them and handles
cover letters and change logs.
However once patches are sent and reviewers add Reviewed-by tags, etc.,
these must be manually added into the commits using git before the next
version of the series is sent. Also, the only way to look at patches is
in the web interface.
It would be nice if patman could talk to Patchwork and collect the review
tags itself. Even better if it could show the review comments in a
command-line view patch-by-patch to speed up addressing comments.
This series adds these features to patman, talking directly to the web
URLs. While pwclient seems like it could handle some of this, or at least
provide a library to patman, the documentation[1] doesn't really explain
what the commands do and it doesn't seem to work with the current
Patchwork (e.g. pwclient git-am requires a patch number but Patchwork
seems to use an ID now).
With these changes, which currently lack tests, it is possible to type
'patman status' and see a list of new review tags. It is also possible
to create a new branch with those tags and list out the review comments
as small snippets on the command line.
I have been using these features for a short while and they seem useful,
so herewith a series.
This series depends on u-boot-dm/next so you might find it easier to get
it from u-boot-dm/patman-working[2]
[1] https://patchwork.readthedocs.io/projects/pwclient/en/latest/usage/
[2] https://gitlab.denx.de/u-boot/custodians/u-boot-dm/-/tree/patman-working
Simon Glass (16):
patman: Use test_util to show test results
patman: Move main code out to a control module
patman: Add a test that uses gitpython
patman: Allow creating patches for another branch
patman: Allow skipping patches at the end
patman: Convert to ArgumentParser
patman: Allow different commands
patman: Add a 'test' subcommand
patman: Allow disabling 'bright' mode with Print output
patman: Support collecting response tags in Patchstream
patman: Allow linking a series with patchwork
patman: Add a -D option to enable debugging
patchstream: Support parsing of review snippets
patman: Support checking for review tags in patchwork
patman: Support updating a branch with review tags
patman: Support listing comments from patchwork
.azure-pipelines.yml | 2 +-
.gitlab-ci.yml | 2 +-
.travis.yml | 2 +-
test/run | 2 +-
tools/patman/README | 93 ++++++-
tools/patman/checkpatch.py | 6 +
tools/patman/commit.py | 14 ++
tools/patman/control.py | 214 ++++++++++++++++
tools/patman/func_test.py | 170 ++++++++++++-
tools/patman/gitutil.py | 23 +-
tools/patman/main.py | 219 ++++++++---------
tools/patman/patchstream.py | 82 ++++++-
tools/patman/series.py | 4 +-
tools/patman/settings.py | 10 +-
tools/patman/status.py | 476 ++++++++++++++++++++++++++++++++++++
tools/patman/terminal.py | 4 +-
tools/patman/test_util.py | 8 +-
tools/patman/tools.py | 4 +-
18 files changed, 1178 insertions(+), 157 deletions(-)
create mode 100644 tools/patman/control.py
create mode 100644 tools/patman/status.py