From patchwork Mon Jul 6 03:41:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 240782 List-Id: U-Boot discussion From: sjg at chromium.org (Simon Glass) Date: Sun, 5 Jul 2020 21:41:47 -0600 Subject: [RFC PATCH 00/16] RFC: patman: Collect review tags and comments from Patchwork Message-ID: <20200706034203.2171077-1-sjg@chromium.org> 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