.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "B4" 5 "2024-02-15" "0.13.0" "" .SH NAME B4 \- Work with code submissions in a public-inbox archive .SH SYNOPSIS .sp b4 {mbox,am,shazam,pr,diff,ty,kr,prep,send,trailers} [options] .SH DESCRIPTION .sp This is a helper utility to work with patches and pull requests made available via a public\-inbox archive like lore.kernel.org. It is written to make it easier to participate in a patch\-based workflows, like those used in the Linux kernel development. .sp The name \(dqb4\(dq was chosen for ease of typing and because B\-4 was the precursor to Lore and Data in the Star Trek universe. .sp Full documentation is available on \fI\%https://b4.docs.kernel.org/\fP\&. .SH SUBCOMMANDS .sp Maintainer\-oriented: .INDENT 0.0 .IP \(bu 2 \fImbox\fP: Download a thread as an mbox file .IP \(bu 2 \fIam\fP: Create an mbox file that is ready to git\-am .IP \(bu 2 \fIshazam\fP: Apply patch series to git repositories .IP \(bu 2 \fIpr\fP: Work with pull requests .IP \(bu 2 \fIdiff\fP: Show range\-diff style diffs between patch versions .IP \(bu 2 \fIty\fP: Create templated replies for processed patches and pull requests .IP \(bu 2 \fIkr\fP: (EXPERIMENTAL) Operate on patatt\-compatible keyrings .UNINDENT .sp Contributor\-oriented: .INDENT 0.0 .IP \(bu 2 \fIprep\fP: (EXPERIMENTAL) prepare your series for submission .IP \(bu 2 \fIsend\fP: (EXPERIMENTAL) send your series for review on distribution lists .IP \(bu 2 \fItrailers\fP: (EXPERIMENTAL) retrieve and apply code\-review trailers .UNINDENT .SH OPTIONS .INDENT 0.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .B \-d\fP,\fB \-\-debug Add more debugging info to the output (default: False) .TP .B \-q\fP,\fB \-\-quiet Output critical information only (default: False) .TP .B \-n\fP,\fB \-\-no\-interactive Do not ask any interactive questions (default: False) .TP .B \-\-offline\-mode Do not perform any network queries (default: False) .TP .B \-\-no\-stdin Disable TTY detection for stdin (default: False) .UNINDENT .SH SUBCOMMAND OPTIONS .SS b4 mbox .sp This command allows retrieving entire threads from a remote public\-inbox instance. The resulting mbox file can then be opened with most MUA clients for actions like replying to conversations or reviewing patch submissions. .INDENT 0.0 .TP .B usage: b4 mbox [\-h] [\-p USEPROJECT] [\-m LOCALMBOX] [\-C] [\-o OUTDIR] [\-c] [\-n WANTNAME] [\-M] [\-f] [msgid] .TP .B positional arguments: msgid Message ID to process, or pipe a raw message .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-p \ USEPROJECT\fR,\fB \ \-\-use\-project \ USEPROJECT Use a specific project instead of default (linux\-mm, linux\-hardening, etc) .TP .BI \-m \ LOCALMBOX\fR,\fB \ \-\-use\-local\-mbox \ LOCALMBOX Instead of grabbing a thread from lore, process this mbox file (or \- for stdin) .TP .BI \-\-stdin\-pipe\-sep \ STDIN_PIPE_SEP When accepting messages on stdin, split using this pipe separator string .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .TP .B \-\-single\-message Only retrieve the message matching the msgid and ignore the rest of the thread .TP .BI \-o \ OUTDIR\fR,\fB \ \-\-outdir \ OUTDIR Output into this directory (or use \- to output mailbox contents to stdout) .TP .B \-c\fP,\fB \-\-check\-newer\-revisions Check if newer patch revisions exist .TP .BI \-n \ WANTNAME\fR,\fB \ \-\-mbox\-name \ WANTNAME Filename to name the mbox destination .TP .B \-M\fP,\fB \-\-save\-as\-maildir Save as maildir (avoids mbox format ambiguities) .TP .B \-f\fP,\fB \-\-filter\-dupes When adding messages to existing maildir, filter out duplicates .TP .BI \-r \ MBOX\fR,\fB \ \-\-refetch \ MBOX Refetch all messages in specified mbox with their original headers .UNINDENT .UNINDENT .sp \fIExample\fP: b4 mbox \fI\%20200313231252.64999\-1\-keescook@chromium.org\fP .SS b4 am .sp This command allows retrieving threads from a public\-inbox instance and preparing them for applying to a git repository using the \(dqgit am\(dq command. It will automatically perform the following operations: .INDENT 0.0 .IP \(bu 2 pick the latest submitted version of the series (it can check for newer threads using \fB\-c\fP as well) .IP \(bu 2 check DKIM signatures and patatt attestation on all patches and code review messages .IP \(bu 2 collate all submitted code\-review trailers (Reviewed\-by, Acked\-by, etc) and put them into the commit message .IP \(bu 2 add your own Signed\-off\-by trailer (with \fB\-s\fP) .IP \(bu 2 reroll series from partial updates (e.g. someone submits a v2 of a single patch instead of rerolling the entire series) .IP \(bu 2 guess where in the tree history the patches belong, if the exact commit\-base is not specified (with \fB\-g\fP) .IP \(bu 2 prepare the tree for a 3\-way merge (with \fB\-3\fP) .IP \(bu 2 cherry\-pick a subset of patches from a large series (with \fB\-P\fP) .UNINDENT .INDENT 0.0 .TP .B usage: b4 am [\-h] [\-p USEPROJECT] [\-m LOCALMBOX] [\-C] [\-o OUTDIR] [\-c] [\-n WANTNAME] [\-M] [\-v WANTVER] [\-t] [\-S] [\-T] [\-s] [\-l] [\-P CHERRYPICK] [\-\-cc\-trailers] [\-\-no\-parent] [\-\-allow\-unicode\-control\-chars] [\-Q] [\-g] [\-b GUESSBRANCH [GUESSBRANCH ...]] [\-\-guess\-lookback GUESSDAYS] [\-3] [\-\-no\-cover] [\-\-no\-partial\-reroll] [msgid] .TP .B positional arguments: msgid Message ID to process, or pipe a raw message .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-p \ USEPROJECT\fR,\fB \ \-\-use\-project \ USEPROJECT Use a specific project instead of default (linux\-mm, linux\-hardening, etc) .TP .BI \-m \ LOCALMBOX\fR,\fB \ \-\-use\-local\-mbox \ LOCALMBOX Instead of grabbing a thread from lore, process this mbox file (or \- for stdin) .TP .BI \-\-stdin\-pipe\-sep \ STDIN_PIPE_SEP When accepting messages on stdin, split using this pipe separator string .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .TP .B \-\-single\-message Only retrieve the message matching the msgid and ignore the rest of the thread .TP .BI \-o \ OUTDIR\fR,\fB \ \-\-outdir \ OUTDIR Output into this directory (or use \- to output mailbox contents to stdout) .TP .B \-c\fP,\fB \-\-check\-newer\-revisions Check if newer patch revisions exist .TP .BI \-n \ WANTNAME\fR,\fB \ \-\-mbox\-name \ WANTNAME Filename to name the mbox destination .TP .B \-M\fP,\fB \-\-save\-as\-maildir Save as maildir (avoids mbox format ambiguities) .TP .B \-\-single\-message Only retrieve the message matching the msgid and ignore the rest of the thread .TP .BI \-v \ WANTVER\fR,\fB \ \-\-use\-version \ WANTVER Get a specific version of the patch/series .TP .B \-S\fP,\fB \-\-sloppy\-trailers Apply trailers without email address match checking .TP .B \-T\fP,\fB \-\-no\-add\-trailers Do not add or sort any trailers .TP .B \-s\fP,\fB \-\-add\-my\-sob Add your own signed\-off\-by to every patch .TP .B \-l\fP,\fB \-\-add\-link Add a Link: with message\-id lookup URL to every patch .TP .BI \-P \ CHERRYPICK\fR,\fB \ \-\-cherry\-pick \ CHERRYPICK Cherry\-pick a subset of patches (e.g. \(dq\-P 1\-2,4,6\-\(dq, \(dq\-P _\(dq to use just the msgid specified, or \(dq\-P \fIglobbing\fP\(dq to match on commit subject) .TP .B \-\-cc\-trailers Copy all Cc\(aqd addresses into Cc: trailers .TP .B \-\-no\-parent Break thread at the msgid specified and ignore any parent messages .TP .B \-\-allow\-unicode\-control\-chars Allow unicode control characters (very rarely legitimate) .TP .B \-Q\fP,\fB \-\-quilt\-ready Save patches in a quilt\-ready folder .TP .B \-g\fP,\fB \-\-guess\-base Try to guess the base of the series (if not specified) .UNINDENT .INDENT 7.0 .TP .B \-b GUESSBRANCH [GUESSBRANCH ...], \-\-guess\-branch GUESSBRANCH [GUESSBRANCH ...] When guessing base, restrict to this branch (use with \-g) .UNINDENT .INDENT 7.0 .TP .BI \-\-guess\-lookback \ GUESSDAYS When guessing base, go back this many days from the patch date (default: 2 weeks) .TP .B \-3\fP,\fB \-\-prep\-3way Prepare for a 3\-way merge (tries to ensure that all index blobs exist by making a fake commit range) .TP .B \-\-no\-cover Do not save the cover letter (on by default when using \-o \-) .TP .B \-\-no\-partial\-reroll Do not reroll partial series when detected .UNINDENT .UNINDENT .sp \fIExample\fP: b4 am \fI\%20200313231252.64999\-1\-keescook@chromium.org\fP .SS b4 shazam .sp This is very similar to \fBb4 am\fP, but will also apply patches directly to the current git tree using \fBgit am\fP\&. Alternatively, when used with \fB\-H\fP, it can fetch the patch series into \fBFETCH_HEAD\fP as if it were a pull request, so it can be reviewed and merged. In this case, the cover letter is used as a template for the merge commit. .sp If you want to automatically invoke git\-merge, you can use \fB\-M\fP instead of \fB\-H\fP\&. .INDENT 0.0 .TP .B usage: b4 shazam [\-h] [\-p USEPROJECT] [\-m LOCALMBOX] [\-C] [\-v WANTVER] [\-t] [\-S] [\-T] [\-s] [\-l] [\-P CHERRYPICK] [\-\-cc\-trailers] [\-\-no\-parent] [\-\-allow\-unicode\-control\-chars] [\-H | \-M] [\-\-guess\-lookback GUESSDAYS] [msgid] .TP .B positional arguments: msgid Message ID to process, or pipe a raw message .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-p \ USEPROJECT\fR,\fB \ \-\-use\-project \ USEPROJECT Use a specific project instead of default (linux\-mm, linux\-hardening, etc) .TP .BI \-m \ LOCALMBOX\fR,\fB \ \-\-use\-local\-mbox \ LOCALMBOX Instead of grabbing a thread from lore, process this mbox file (or \- for stdin) .TP .BI \-\-stdin\-pipe\-sep \ STDIN_PIPE_SEP When accepting messages on stdin, split using this pipe separator string .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .TP .B \-\-single\-message Only retrieve the message matching the msgid and ignore the rest of the thread .TP .BI \-v \ WANTVER\fR,\fB \ \-\-use\-version \ WANTVER Get a specific version of the patch/series .TP .B \-S\fP,\fB \-\-sloppy\-trailers Apply trailers without email address match checking .TP .B \-T\fP,\fB \-\-no\-add\-trailers Do not add or sort any trailers .TP .B \-s\fP,\fB \-\-add\-my\-sob Add your own signed\-off\-by to every patch .TP .B \-l\fP,\fB \-\-add\-link Add a Link: with message\-id lookup URL to every patch .TP .BI \-P \ CHERRYPICK\fR,\fB \ \-\-cherry\-pick \ CHERRYPICK Cherry\-pick a subset of patches (e.g. \(dq\-P 1\-2,4,6\-\(dq, \(dq\-P _\(dq to use just the msgid specified, or \(dq\-P \fIglobbing\fP\(dq to match on commit subject) .TP .B \-\-cc\-trailers Copy all Cc\(aqd addresses into Cc: trailers .TP .B \-\-no\-parent Break thread at the msgid specified and ignore any parent messages .TP .B \-\-allow\-unicode\-control\-chars Allow unicode control characters (very rarely legitimate) .TP .B \-H\fP,\fB \-\-make\-fetch\-head Attempt to treat series as a pull request and fetch it into FETCH_HEAD .TP .B \-M\fP,\fB \-\-merge Attempt to merge series as if it were a pull request (execs git\-merge) .TP .BI \-\-guess\-lookback \ GUESSDAYS (use with \-H or \-M) When guessing base, go back this many days from the patch date (default: 3 weeks) .TP .BI \-\-merge\-base \ COMMIT (use with \-H or \-M) Force this base when merging .UNINDENT .UNINDENT .sp \fIExample\fP: b4 shazam \-H \fI\%20200313231252.64999\-1\-keescook@chromium.org\fP .SS b4 pr .sp This command is for working with pull requests submitted using \fBgit\-request\-pull\fP\&. .INDENT 0.0 .TP .B usage: b4 pr [\-h] [\-g GITDIR] [\-b BRANCH] [\-c] [\-e] [\-o OUTMBOX] [msgid] .TP .B positional arguments: msgid Message ID to process, or pipe a raw message .TP .B optional arguments: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-g \ GITDIR\fR,\fB \ \-\-gitdir \ GITDIR Operate on this git tree instead of current dir .TP .BI \-b \ BRANCH\fR,\fB \ \-\-branch \ BRANCH Check out FETCH_HEAD into this branch after fetching .TP .B \-c\fP,\fB \-\-check Check if pull request has already been applied .TP .B \-e\fP,\fB \-\-explode Convert a pull request into an mbox full of patches .TP .BI \-o \ OUTMBOX\fR,\fB \ \-\-output\-mbox \ OUTMBOX Save exploded messages into this mailbox (default: msgid.mbx) .TP .BI \-f \ MAILFROM\fR,\fB \ \-\-from\-addr \ MAILFROM Use this From: in exploded messages (use with \-e) .UNINDENT .UNINDENT .sp \fIExample\fP: b4 pr \fI\%202003292120.2BDCB41@keescook\fP .SS b4 ty .INDENT 0.0 .TP .B usage: b4 ty [\-h] [\-g GITDIR] [\-o OUTDIR] [\-l] [\-t THANK_FOR [THANK_FOR ...]] [\-d DISCARD [DISCARD ...]] [\-a] [\-b BRANCH] [\-\-since SINCE] [\-S] [\-\-dry\-run] .TP .B optional arguments: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-g \ GITDIR\fR,\fB \ \-\-gitdir \ GITDIR Operate on this git tree instead of current dir .TP .BI \-o \ OUTDIR\fR,\fB \ \-\-outdir \ OUTDIR Write thanks files into this dir (default=.) .TP .B \-l\fP,\fB \-\-list List pull requests and patch series you have retrieved .TP .BI \-t \ THANK_FOR\fR,\fB \ \-\-thank\-for \ THANK_FOR Generate thankyous for specific entries from \-l (e.g.: 1,3\-5,7\-; or \(dqall\(dq) .TP .BI \-d \ DISCARD\fR,\fB \ \-\-discard \ DISCARD Discard specific messages from \-l (e.g.: 1,3\-5,7\-; or \(dqall\(dq) .TP .B \-a\fP,\fB \-\-auto Use the Auto\-Thankanator gun to figure out what got applied/merged .TP .BI \-b \ BRANCH\fR,\fB \ \-\-branch \ BRANCH The branch to check against, instead of current .TP .BI \-\-since \ SINCE The \-\-since option to use when auto\-matching patches (default=1.week) .TP .B \-S\fP,\fB \-\-send\-email Send email instead of writing out .thanks files .TP .B \-\-dry\-run Print out emails instead of sending them .TP .BI \-\-pw\-set\-state \ PW_STATE Set this patchwork state instead of default (use with \-a, \-t or \-d) .UNINDENT .UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 To send mails directly using \-S, you should have a configured [sendemail] section somewhere in your applicable git configuration files (global or in\-tree). .UNINDENT .UNINDENT .sp \fIExample\fP: b4 ty \-aS \-\-dry\-run .SS b4 diff .INDENT 0.0 .TP .B usage: b4 diff [\-h] [\-g GITDIR] [\-p USEPROJECT] [\-C] [\-v WANTVERS [WANTVERS ...]] [\-n] [\-o OUTDIFF] [\-c] [\-m AMBOX AMBOX] [msgid] .TP .B positional arguments: msgid Message ID to process, pipe a raw message, or use \-m .UNINDENT .sp optional arguments: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-g \ GITDIR\fR,\fB \ \-\-gitdir \ GITDIR Operate on this git tree instead of current dir .TP .BI \-p \ USEPROJECT\fR,\fB \ \-\-use\-project \ USEPROJECT Use a specific project instead of guessing (linux\-mm, linux\-hardening, etc) .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .UNINDENT .INDENT 0.0 .TP .B \-v WANTVERS [WANTVERS ...], \-\-compare\-versions WANTVERS [WANTVERS ...] Compare specific versions instead of latest and one before that, e.g. \-v 3 5 .UNINDENT .INDENT 0.0 .TP .B \-n\fP,\fB \-\-no\-diff Do not generate a diff, just show the command to do it .TP .BI \-o \ OUTDIFF\fR,\fB \ \-\-output\-diff \ OUTDIFF Save diff into this file instead of outputting to stdout .TP .B \-c\fP,\fB \-\-color Force color output even when writing to file .UNINDENT .INDENT 0.0 .TP .B \-m AMBOX AMBOX, \-\-compare\-am\-mboxes AMBOX AMBOX Compare two mbx files prepared with \(dqb4 am\(dq .UNINDENT .UNINDENT .UNINDENT .sp \fIExample\fP: b4 diff \fI\%20200526205322.23465\-1\-mic@digikod.net\fP .SS b4 kr .INDENT 0.0 .TP .B usage: b4 kr [\-h] [\-p USEPROJECT] [\-m LOCALMBOX] [\-C] [\-\-show\-keys] [msgid] .TP .B positional arguments: msgid Message ID to process, or pipe a raw message .TP .B optional arguments: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-p \ USEPROJECT\fR,\fB \ \-\-use\-project \ USEPROJECT Use a specific project instead of guessing (linux\-mm, linux\-hardening, etc) .TP .BI \-m \ LOCALMBOX\fR,\fB \ \-\-use\-local\-mbox \ LOCALMBOX Instead of grabbing a thread from lore, process this mbox file (or \- for stdin) .TP .BI \-\-stdin\-pipe\-sep \ STDIN_PIPE_SEP When accepting messages on stdin, split using this pipe separator string .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .TP .B \-\-show\-keys Show all developer keys from the thread .UNINDENT .UNINDENT .sp \fIExample\fP: b4 kr \-\-show\-keys \fI\%20210521184811.617875\-1\-konstantin@linuxfoundation.org\fP .SS b4 prep .INDENT 0.0 .TP .B usage: b4 prep [\-h] [\-c | \-p OUTPUT_DIR | \-\-edit\-cover | \-\-show\-revision | \-\-force\-revision N | \-\-compare\-to vN | \-\-manual\-reroll COVER_MSGID | \-\-set\-prefixes PREFIX [PREFIX ...] | \-\-show\-info [PARAM] ] | [ \-\-cleanup [BRANCHNAME] ] [\-n NEW_SERIES_NAME] [\-f FORK_POINT] [\-F MSGID] [\-e ENROLL_BASE] .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .B \-c\fP,\fB \-\-auto\-to\-cc Automatically populate cover letter trailers with To and Cc addresses .TP .BI \-p \ OUTPUT_DIR\fR,\fB \ \-\-format\-patch \ OUTPUT_DIR Output prep\-tracked commits as patches .TP .B \-\-edit\-cover Edit the cover letter in your defined $EDITOR (or core.editor) .TP .B \-\-show\-revision Show current series revision number .TP .BI \-\-force\-revision \ N Force revision to be this number instead .TP .BI \-\-compare\-to \ vN Display a range\-diff to previously sent revision N .TP .BI \-\-manual\-reroll \ COVER_MSGID Mark current revision as sent and reroll (requires cover letter msgid) .UNINDENT .INDENT 7.0 .TP .B \-\-set\-prefixes PREFIX [PREFIX ...] Extra prefixes to add to [PATCH] (e.g.: RFC mydrv) .TP .B \-\-show\-info [PARAM] Show series info in a format that can be passed to other tools .TP .B \-\-cleanup [BRANCHNAME] Archive and delete obsolete prep\-managed branches .UNINDENT .TP .B Create new branch: Create a new branch for working on patch series .INDENT 7.0 .TP .BI \-n \ NEW_SERIES_NAME\fR,\fB \ \-\-new \ NEW_SERIES_NAME Create a new branch for working on a patch series .TP .BI \-f \ FORK_POINT\fR,\fB \ \-\-fork\-point \ FORK_POINT When creating a new branch, use this fork point instead of HEAD .TP .BI \-F \ MSGID\fR,\fB \ \-\-from\-thread \ MSGID When creating a new branch, use this thread .UNINDENT .TP .B Enroll existing branch: Enroll existing branch for prep work .INDENT 7.0 .TP .BI \-e \ ENROLL_BASE\fR,\fB \ \-\-enroll \ ENROLL_BASE Enroll current branch, using the passed tag, branch, or commit as fork base .UNINDENT .UNINDENT .SS b4 send .INDENT 0.0 .TP .B usage: b4 send [\-h] [\-d | \-o OUTPUT_DIR | \-\-preview\-to ADDR [ADDR ...] | \-\-reflect] [\-\-no\-trailer\-to\-cc] [\-\-to ADDR [ADDR ...]] [\-\-cc ADDR [ADDR ...]] [\-\-not\-me\-too] [\-\-resend [vN]] [\-\-no\-sign] [\-\-web\-auth\-new] [\-\-web\-auth\-verify VERIFY_TOKEN] .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .B \-d\fP,\fB \-\-dry\-run Do not send, just dump out raw smtp messages to the stdout .UNINDENT .INDENT 7.0 .TP .B \-\-preview\-to ADDR [ADDR ...] Send everything for a pre\-review to specified addresses instead of actual recipients .UNINDENT .INDENT 7.0 .TP .BI \-o \ OUTPUT_DIR\fR,\fB \ \-\-output\-dir \ OUTPUT_DIR Do not send, write raw messages to this directory (forces \-\-dry\-run) .TP .B \-\-reflect Send everything to yourself instead of the actual recipients .TP .B \-\-no\-trailer\-to\-cc Do not add any addresses found in the cover or patch trailers to To: or Cc: .UNINDENT .INDENT 7.0 .TP .B \-\-to ADDR [ADDR ...] Addresses to add to the To: list .TP .B \-\-cc ADDR [ADDR ...] Addresses to add to the Cc: list .UNINDENT .INDENT 7.0 .TP .B \-\-not\-me\-too Remove yourself from the To: or Cc: list .UNINDENT .INDENT 7.0 .TP .B \-\-resend [vN] Resend a previously sent version of the series .UNINDENT .INDENT 7.0 .TP .B \-\-no\-sign Do not add the cryptographic attestation signature header .UNINDENT .TP .B Web submission: Authenticate with the web submission endpoint .INDENT 7.0 .TP .B \-\-web\-auth\-new Initiate a new web authentication request .TP .BI \-\-web\-auth\-verify \ VERIFY_TOKEN Submit the token received via verification email .UNINDENT .UNINDENT .SS b4 trailers .INDENT 0.0 .TP .B usage: b4 trailers [\-h] [\-u] [\-S] [\-F MSGID] [\-\-since SINCE] .TP .B options: .INDENT 7.0 .TP .B \-h\fP,\fB \-\-help show this help message and exit .TP .B \-u\fP,\fB \-\-update Update branch commits with latest received trailers .TP .B \-S\fP,\fB \-\-sloppy\-trailers Apply trailers without email address match checking .TP .BI \-F \ MSGID\fR,\fB \ \-\-trailers\-from \ MSGID Look for trailers in the thread with this msgid instead of using the series change\-id .TP .BI \-\-since \ SINCE The \-\-since option to use with \-F when auto\-matching patches (default=1.month) .TP .BI \-m \ LOCALMBOX\fR,\fB \ \-\-use\-local\-mbox \ LOCALMBOX Instead of grabbing a thread from lore, process this mbox file (or \- for stdin) .TP .BI \-\-stdin\-pipe\-sep \ STDIN_PIPE_SEP When accepting messages on stdin, split using this pipe separator string .TP .B \-C\fP,\fB \-\-no\-cache Do not use local cache .UNINDENT .UNINDENT .SH CONFIGURATION .sp B4 configuration is handled via git\-config(1), so you can store it in either the toplevel $HOME/.gitconfig file, or in a per\-repository \&.git/config file if your workflow changes per project. .sp To see configuration options available, see online documentation at \fI\%https://b4.docs.kernel.org/en/latest/config.html\fP .SH PROXYING REQUESTS .sp Commands making remote HTTP requests may be configured to use a proxy by setting the \fBHTTPS_PROXY\fP environment variable, as described in \fI\%https://docs.python\-requests.org/en/latest/user/advanced/#proxies\fP\&. .SH SUPPORT .sp Please email \fI\%tools@kernel.org\fP with support requests, or browse the list archive at \fI\%https://lore.kernel.org/tools\fP\&. .SH AUTHOR mricon@kernel.org License: GPLv2+ .SH COPYRIGHT The Linux Foundation and contributors .\" Generated by docutils manpage writer. .