public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v2 00/30] patman: Collect review tags and comments from Patchwork
@ 2020-10-26  1:04 Simon Glass
  2020-10-26  1:04 ` [PATCH v2 01/30] patman: Correct operation of -n Simon Glass
                   ` (29 more replies)
  0 siblings, 30 replies; 35+ messages in thread
From: Simon Glass @ 2020-10-26  1:04 UTC (permalink / raw)
  To: u-boot

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
Patchwork REST API. 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 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 little while and they seem useful,
so herewith a series.

Some of the patches here clean up style problems in patman and other minor
problems. See the last four patches for the main changes.

You can find it at 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

Changes in v2:
- Adjust the algorithm to handle patch/commit mismatch
- Correct Python style problems
- Use REST API instead of web pages
- Many changes to the whole series, including new patches
- Use of REST API instead of the web site

Simon Glass (30):
  patman: Correct operation of -n
  azure/gitLab/travis: Add pygit2 as a dependency for tests
  patman: Update how tests are run
  patman: Fix whitespace errors in func_test
  patman: Use capture_sys_output() consistently
  patman: Fix remaining pylint3 warnings in func_test
  patman: Allow linking a series with patchwork
  patman: Fix indenting in patchstream
  patman: Fix constant style in patchstream
  patman: Rename functions in patchstream
  patman: Rename variables in patchstream
  patman: Drop unused args in patchstream
  patman: Fix up argument/return docs in patchstream
  patman: Move warning collection to a function
  patman: Attach warnings to individual patches
  patman: Convert 'Series-xxx' tag errors into warnings
  patman: Drop unused signoff member
  patman: Add a test for PatchStream tags
  patman: Add some tests for warnings
  patman: Convert testBasic() to use an interator
  patman: Require tags to be before sign-off
  patman: Fix spelling of plural for warning
  patman: Don't ignore lines starting with hash
  patman: Allow showing a Commit as a string
  patman: Improve handling of files
  patman: Detect missing upstream in CountCommitsToBranch
  patman: Support checking for review tags in patchwork
  patman: Support updating a branch with review tags
  patman: Support parsing of review snippets
  patman: Support listing comments from patchwork

 .azure-pipelines.yml                          |   2 +-
 .gitlab-ci.yml                                |   2 +-
 .travis.yml                                   |   1 +
 tools/buildman/control.py                     |   6 +-
 tools/patman/README                           | 111 +-
 tools/patman/checkpatch.py                    |  18 +-
 tools/patman/commit.py                        |   5 +
 tools/patman/control.py                       |  71 +-
 tools/patman/func_test.py                     | 980 ++++++++++++++++--
 tools/patman/gitutil.py                       |  10 +-
 tools/patman/main.py                          |  42 +-
 tools/patman/patchstream.py                   | 454 +++++---
 tools/patman/series.py                        |   8 +-
 tools/patman/status.py                        | 480 +++++++++
 tools/patman/terminal.py                      |  21 +-
 .../0001-pci-Correct-cast-for-sandbox.patch   |   2 +-
 ...-for-sandbox-in-fdtdec_setup_mem_siz.patch |   2 +-
 tools/patman/test/test01.txt                  |   4 +-
 tools/patman/test_checkpatch.py               |   6 +-
 19 files changed, 1952 insertions(+), 273 deletions(-)
 create mode 100644 tools/patman/status.py

-- 
2.29.0.rc2.309.g374f81d7ae-goog

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2020-10-27 20:33 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-26  1:04 [PATCH v2 00/30] patman: Collect review tags and comments from Patchwork Simon Glass
2020-10-26  1:04 ` [PATCH v2 01/30] patman: Correct operation of -n Simon Glass
2020-10-26  1:04 ` [PATCH v2 02/30] azure/gitLab/travis: Add pygit2 as a dependency for tests Simon Glass
2020-10-26  1:04 ` [PATCH v2 03/30] patman: Update how tests are run Simon Glass
2020-10-26  1:04 ` [PATCH v2 04/30] patman: Fix whitespace errors in func_test Simon Glass
2020-10-26  1:04 ` [PATCH v2 05/30] patman: Use capture_sys_output() consistently Simon Glass
2020-10-26  1:04 ` [PATCH v2 06/30] patman: Fix remaining pylint3 warnings in func_test Simon Glass
2020-10-26  1:04 ` [PATCH v2 07/30] patman: Allow linking a series with patchwork Simon Glass
2020-10-26  1:04 ` [PATCH v2 08/30] patman: Fix indenting in patchstream Simon Glass
2020-10-26  1:04 ` [PATCH v2 09/30] patman: Fix constant style " Simon Glass
2020-10-26  1:04 ` [PATCH v2 10/30] patman: Rename functions " Simon Glass
2020-10-26  1:04 ` [PATCH v2 11/30] patman: Rename variables " Simon Glass
2020-10-26  1:04 ` [PATCH v2 12/30] patman: Drop unused args " Simon Glass
2020-10-26  1:04 ` [PATCH v2 13/30] patman: Fix up argument/return docs " Simon Glass
2020-10-26  1:04 ` [PATCH v2 14/30] patman: Move warning collection to a function Simon Glass
2020-10-26  1:04 ` [PATCH v2 15/30] patman: Attach warnings to individual patches Simon Glass
2020-10-26  1:04 ` [PATCH v2 16/30] patman: Convert 'Series-xxx' tag errors into warnings Simon Glass
2020-10-26  1:04 ` [PATCH v2 17/30] patman: Drop unused signoff member Simon Glass
2020-10-26  1:04 ` [PATCH v2 18/30] patman: Add a test for PatchStream tags Simon Glass
2020-10-26  1:04 ` [PATCH v2 19/30] patman: Add some tests for warnings Simon Glass
2020-10-26  1:04 ` [PATCH v2 20/30] patman: Convert testBasic() to use an interator Simon Glass
2020-10-26  1:04 ` [PATCH v2 21/30] patman: Require tags to be before sign-off Simon Glass
2020-10-26  1:23   ` Sean Anderson
2020-10-27  4:53     ` Simon Glass
2020-10-27  6:05       ` Jonathan Nieder
2020-10-27 20:33         ` Sean Anderson
2020-10-26  1:04 ` [PATCH v2 22/30] patman: Fix spelling of plural for warning Simon Glass
2020-10-26  1:04 ` [PATCH v2 23/30] patman: Don't ignore lines starting with hash Simon Glass
2020-10-26  1:04 ` [PATCH v2 24/30] patman: Allow showing a Commit as a string Simon Glass
2020-10-26  1:04 ` [PATCH v2 25/30] patman: Improve handling of files Simon Glass
2020-10-26  1:04 ` [PATCH v2 26/30] patman: Detect missing upstream in CountCommitsToBranch Simon Glass
2020-10-26  1:04 ` [PATCH v2 27/30] patman: Support checking for review tags in patchwork Simon Glass
2020-10-26  1:04 ` [PATCH v2 28/30] patman: Support updating a branch with review tags Simon Glass
2020-10-26  1:04 ` [PATCH v2 29/30] patman: Support parsing of review snippets Simon Glass
2020-10-26  1:04 ` [PATCH v2 30/30] patman: Support listing comments from patchwork Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox