image_pdfimage_print

Managing a complex patch series can be a bit of a mental marathon. Between waiting for CI results and tracking reviewer feedback, it’s easy for a series to slip through the cracks. To help with this, we’ve just introduced a new workflow tracking feature to patman.

This feature allows you to track the status of your series, set follow-up reminders, and keep a history of when versions were sent, all directly within the tool.


What’s New?

Patman already has a ‘series’ command which keeps track of your series and their versions, along with patchwork links, etc.

The core of this update is a new workflow command (aliased as wf) and a database-backed tracking system. The new features are:

  • Automatic Reminders: When you successfully send a series, patman now automatically creates a SENT record and schedules a TODO reminder for 7 days in the future.
  • Manual Todo Management: You can manually mark a series for follow-up if you know you need to check back on it.
  • Status Visibility: Series that are due for attention will now show a [todo] marker in the patman series summary output.
  • Workflow History: A new list command provides a chronological view of your activities, with human-friendly timestamps (e.g., “3d ago”, “Wed 14:20”).

Using the Workflow Command

The new subcommands make it easy to manage your pending work, across one or more upstreams:

1. Setting and Clearing Todos

If you want to remind yourself to check a series in two weeks:

patman wf todo -s my-feature-branch 14

To clear a reminder once you’ve addressed the feedback:

patman wf todo --clear

2. Listing Due Tasks

To see what currently needs your attention:

patman wf todo-list

Add the --all flag to see future scheduled tasks as well.

3. Reviewing History

To see a full log of your workflow entries, including which version (v1, v2, etc.) was sent and when. Note that this is just an example:

patman wf list
Type    Series             Ver        When  Description
------  -----------------  ---  ----------  ------------------------------
sent    fitg                        3w ago  boot: Add fit_config_get_hash_list() to build signed node list
sent    bootma-us           v4      3w ago  bootm: Clean up arch-specific, pre-OS clean-up
sent    bini-us             v2      3w ago  binman: test: Organise test files into subdirectories
sent    testfs              v4      2w ago  Provide classes for building disk images with FS partitions
todo    fitg                        2w ago  boot: Add fit_config_get_hash_list() to build signed node list
todo    bootma-us                   2w ago  bootm: Clean up arch-specific, pre-OS clean-up
todo    bini-us                     2w ago  binman: test: Organise test files into subdirectories
sent    mema                v1      2w ago  test: Fix pytest inter-test side effects

Under the Hood

This update also includes several stability improvements to ensure the workflow tracking is accurate:

  • PTY Integration: patman now uses a PTY when running git send-email, ensuring that patman knows when a series was actually sent.
  • Version Stripping: Improved branch-name detection now correctly handles version suffixes (like my-branch-v2) when looking up series in the database.

This is just the beginning of workflow integration in patman. Future updates will expand on these foundations, potentially including automated queries to help you decide which series to prioritize next.

Author

  • Simon Glass is a primary author of U-Boot, with around 10K commits. He is maintainer of driver model and various other subsystems in U-Boot.

Leave a Reply

Your email address will not be published. Required fields are marked *