Two tools for projects which take patches by email, and how they differ
b4 comes from kernel.org and is built around lore, the public archive of the mailing lists. It started on the maintainer’s side, fetching series and applying them with their review tags. Patman started on the contributor’s side, sending a series from your branch and following it on patchwork. Each has grown towards the other, and both now help with reviewing other people’s patches.
Many developers use both. This page compares b4 0.16 and patman 0.6, as of October 2026.
Sending your own series
| patman | b4 prep and send | |
|---|---|---|
| Where the series is described | Tags in the commit messages give the recipients, the version and the cover letter. The patches are made straight from the branch. | An empty commit at the base of the branch holds the cover letter, along with a change-id which links the versions. |
| Change logs | Each commit has its own list of changes, which patman adds to that patch and collects into the cover letter. | Written in the cover letter, which links to the earlier versions. b4 can show a range-diff between versions. |
| Checks | Runs checkpatch.pl and its own checks every time it sends, and removes tags which should not go out. | Runs checkpatch.pl with b4 prep --check. |
| Recipients | Works them out with get_maintainer.pl when sending, adding any Cc tags in the commits. | Works them out with get_maintainer.pl and stores them in the cover letter. |
| Sending | Uses git send-email, or the kernel.org web relay, signing with patatt. | Uses SMTP or the kernel.org web relay, signing with patatt. |
| More than one upstream | Each upstream in a tree can have its own email identity, patchwork project and settings. | Settings come from git config and the project’s .b4-config file. |
| After sending | A local database records each version of each series and its patchwork link, and follows its progress. | Tags on the branch record each version sent. |
| Review tags | Reads them from patchwork and writes them into a branch ready for the next version. | Reads them from lore with b4 trailers -u and adds them to the commits. |
Reviewing other people’s patches
Both tools can use an AI agent, but in different ways. With patman, a Claude agent reviews the whole series and drafts the replies, which you then check and send. With b4, you write the review and can ask an agent for comments on each patch, which you then adopt or not.
| patman review and serve | b4 review | |
|---|---|---|
| Interface | The command line, plus a web page for your desk or phone. | A terminal interface which shows the patches and their diffs side by side. |
| The agent | Claude reviews each patch and the cover letter, and can run Coverity and learn your writing voice from past reviews. | Runs an agent of your choice, such as Claude Code or Codex, on one patch at a time. Its comments are shown inline. |
| Writing the reply | Gmail drafts which you can edit in Gmail or on the web page, then send. | Your editor. b4 trims the quoted patch down to the parts you comment on. |
| Following up | Lists the replies to your reviews, drafts responses to them and finds new versions of a series. | Tracks each series as new, reviewing, waiting, snoozed and so on, and has a viewer for each thread. |
| Finding series | Uses patchwork, or lore for lists which have no patchwork. | Uses lore, with an optional patchwork browser which also updates patchwork as you go. |
| Applying them | Applies a series to its own worktree for the agent to review, but leaves taking it into your tree to you. | Takes a series into your tree by merging, applying or cherry-picking, then sends thank-you emails. |
| Attestation | Does not check incoming signatures. | Checks the DKIM and patatt signatures of incoming patches. |
What only one of them does
b4
- Fetches a series from lore and applies it, with its review tags (
b4 amandb4 shazam) - Downloads a whole thread as an mbox, and fetches pull requests
- Sends thank-you emails once a series is merged (
b4 ty) - Manages patatt keys (
b4 kr) and tracks bugs with git-bug (b4 bugs, new in 0.16)
patman
- Change logs kept with each commit and collected into the cover letter
- A database of your series, following each one across its versions and across more than one upstream
- Reviews drafted for the whole series by an agent, including a check of your own series before you send it
- A web page for following and working on reviews from your phone (
patman serve)
Using them together
The two work well side by side. A common pattern is to send and track your own series with patman, and to use b4 shazam to try someone else’s series in your tree. Both use the same kernel.org web relay and the same patatt key, so you only need to set that up once.