[Concept,00/32] patman: Add multi-upstream support

Message ID 20260226200106.1727176-1-sjg@u-boot.org
Headers
Series patman: Add multi-upstream support |

Message

Simon Glass Feb. 26, 2026, 8 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

Add support for associating each series with an upstream remote, so
that patman can automatically select the correct patchwork server,
sendemail identity, To address and send options. This avoids having
to remember which settings to use for each project.

The series includes a v5 schema migration to add the necessary
columns, accessor functions, command-line wiring, and documentation
for the multi-upstream workflow.


Simon Glass (32):
  patman: Expand the prep_series() comment
  patman: Reject database versions newer than supported
  patman: Add upstream and send settings to the database schema
  patman: Add an upstream column to the series table
  patman: Warn about series with no upstream after migration
  patman: Auto-detect upstream for series during migration
  patman: Show upstream in series list
  patman: Add set-upstream command for series
  patman: Associate patchwork projects with upstreams
  patman: Add upstream parameter to project_set() and project_get()
  patman: Add get_series_upstream() helper
  patman: Wire up per-upstream patchwork project in commands
  patman: Add patchwork list command
  patman: Make remote a required positional for patchwork project
    commands
  patman: Group remotes by project in patchwork list
  patman: Allow specifying project when adding an upstream
  patman: Rename -u/--use-commit to -1/--use-first-commit
  patman: Add per-upstream patchwork URL
  patman: Allow setting the upstream when adding a series
  patman: Add 'ls' and 'list' aliases for list subcommands
  patman: Add per-upstream send settings to the database
  patman: Support sendemail identity and series-to in the send path
  patman: Wire up per-upstream send settings in commands
  patman: Add an 'upstream set' command to update settings
  patman: Use notice() for database migration messages
  patman: Add header and tidy columns in upstream list
  patman: Update series description when adding a new version
  patman: Improve send feedback and upstream list formatting
  patman: Improve autolink wait with progress and backoff
  patman: Filter out AI co-developer tags from patches
  patman: Update series description on scan
  patman: Document multi-upstream setup

 tools/patman/cmdline.py       |  72 +++++-
 tools/patman/control.py       |  89 +++++++-
 tools/patman/cser_helper.py   |  79 ++++++-
 tools/patman/cseries.py       | 246 ++++++++++++++++++---
 tools/patman/database.py      | 292 +++++++++++++++++++++---
 tools/patman/patchstream.py   |   7 +-
 tools/patman/patman.rst       | 167 ++++++++++++++
 tools/patman/send.py          |  25 ++-
 tools/patman/series.py        |   3 +-
 tools/patman/test_common.py   |   1 +
 tools/patman/test_cseries.py  | 405 ++++++++++++++++++++++++++++++----
 tools/u_boot_pylib/gitutil.py |   5 +-
 12 files changed, 1251 insertions(+), 140 deletions(-)