)]}'
{
  "log": [
    {
      "commit": "5166be6f9ac9e760c7c0407e643c8af0faf12bf9",
      "tree": "c0cd2c97d6e374fe6fa3978ee0adff700ddd221b",
      "parents": [
        "601fdc2a68e023812fc3b47ef3c05da63a6093f8"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 30 14:16:45 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 30 14:16:45 2022 -0400"
      },
      "message": "ez: initial prep --compare-to implementation\n\nIt is useful to be able to see the difference between the version that\nyou have previously sent and the current working branch. This is the\ninitial implementation that can be further improved to allow passing\nrange-diff options.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "601fdc2a68e023812fc3b47ef3c05da63a6093f8",
      "tree": "17a64aea129e258f31c521c47e924bcfdaf9c830",
      "parents": [
        "4d32180e8d1c107ed4b44d2476d2f95afa21b0a9"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 28 09:43:36 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 28 09:43:36 2022 -0400"
      },
      "message": "Fall back on user.email if sendemail.from not set\n\nIf we don\u0027t find a sendemail.from, then fall back to using user.email\nand hope for the best.\n\nReported-by: Neil Armstrong \u003cneil.armstrong@linaro.org\u003e\nLink: https://msgid.link/eb5d38af-ed64-38fd-2515-e489120cbb0b@linaro.org\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4d32180e8d1c107ed4b44d2476d2f95afa21b0a9",
      "tree": "2806aece302b37dd224efb55eeccbb5abbac3c6e",
      "parents": [
        "b8be2012a3ec4dca348a00d55499cdf69658d66a"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 27 11:37:17 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 27 11:37:17 2022 -0400"
      },
      "message": "docs: use double quotes for pipe_sep\n\nMutt treats single quotes and double quotes differently, and this\nconfiguration option requires double quotes.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b8be2012a3ec4dca348a00d55499cdf69658d66a",
      "tree": "3ab288c757fd6f0d4ad11a25063db4db87a3ba75",
      "parents": [
        "d9ed38f393c5a14f422f476965d8aa8b140ed27b"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 27 09:55:34 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 27 09:55:34 2022 -0400"
      },
      "message": "mbox/am: add --stdin-line-sep option\n\nFor all the good things it has going for it, mutt has some questionable\ndesign choices, like how it handles piping multiple messages. Instead of\nsupporting a sensible option like \"pipe as a valid mbox\", it will\ninstead simply concatenate all messages together.\n\nThe only option is to tell mutt to use a $pipe_sep variable, but then\nthe receiving end has to know which string was used. This change\nsupports passing --stdin-line-sep to mbox/am/shazam commands. See docs\nfor details.\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d9ed38f393c5a14f422f476965d8aa8b140ed27b",
      "tree": "eea8cfaf3d914529aa1d69ce72e86d993f0d967b",
      "parents": [
        "c1fe672e39b06f70d27317df2aac4c9e46eaa55f"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 18:01:17 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 18:01:17 2022 -0400"
      },
      "message": "ez: fix commit corruption on trailers -u\n\nFixes a regression introduced to b4 trailers due to the recent refactor.\n\nFixes: 6c215d8347 (ez: don\u0027t send a cover letter for a 1-patch series)\nReported-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nLink: https://msgid.link/YyzW46WQ47HUKTSx@google.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c1fe672e39b06f70d27317df2aac4c9e46eaa55f",
      "tree": "391e7b9b54abf99782ac8c083f5ad33fdf599555",
      "parents": [
        "6c215d83473d732cf1208c17a00a8ebc7d7526eb"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 17:44:54 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 17:44:54 2022 -0400"
      },
      "message": "ez: handle full \u0027Firstname Lastname \u003cemail\u003e\u0027 parameters\n\nDo the right thing in case we receive addresses with names via cmdline,\ne.g.:\n\nb4 send --to \u0027Firstname Lastname \u003cfirst.last@example.com\u003e\u0027\n\nReported-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nLink: https://msgid.link/YyzPSrTcGliahL+a@google.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6c215d83473d732cf1208c17a00a8ebc7d7526eb",
      "tree": "87b1b8a4d858279a918dc91893ee968e3dc8720d",
      "parents": [
        "7eba05fd4531008bf4c453a9f73b31dee213d6ef"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 13:57:01 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 13:57:01 2022 -0400"
      },
      "message": "ez: don\u0027t send a cover letter for a 1-patch series\n\nChange the behaviour of single-patch series. Instead of insisting on\nsending the cover letter, mix it into the patch itself by appending it\nto the below-the-cut portion of the patch.\n\nSuggested-by: Amjad Ouled-Ameur \u003caouledameur@baylibre.com\u003e\nLink: https://msgid.link/3b1af982-83f1-d5ed-6df1-c654df481899@baylibre.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7eba05fd4531008bf4c453a9f73b31dee213d6ef",
      "tree": "ac33b708bd3eed9585853ae4a60669266b8468e4",
      "parents": [
        "6592719c28f975643071b6e47cf0c333befb2c19"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 10:20:11 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 22 10:20:11 2022 -0400"
      },
      "message": "ez: generate patch with diffstat\n\nWhen generating patches from commit range, add a diffstat for a fuller\ncompatibility with the default git-format-patch behaviour.\n\nReported-by: Guillaume Ranquet \u003cgranquet@baylibre.com\u003e\nLink: https://msgid.link/CABnWg9uBOGqJMq\u003dyCtn7SoEME\u003d+2u1-ZK9ftb6\u003d_jRhkhL_jiw@mail.gmail.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6592719c28f975643071b6e47cf0c333befb2c19",
      "tree": "bcf496309fb630a09b85e4fc31e400073dbe3b86",
      "parents": [
        "87e0e464959c026ada435ef744bcd6ca22adccb5"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 14:56:41 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 14:56:41 2022 -0400"
      },
      "message": "docs: fix patchwork documentation\n\nThe patchwork documentation was incorrect:\n\n1. it was claiming that 0.9 supported patchwork\n2. it was claiming that some settings had defaults\n\nThis should fix both problems.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "87e0e464959c026ada435ef744bcd6ca22adccb5",
      "tree": "e92eca562f859eb3c2682c159923a51bb16eb784",
      "parents": [
        "075b35bf5b62778f1a3534dba55420d3e5a4a9fc"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 14:12:30 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 14:12:30 2022 -0400"
      },
      "message": "smtp: more fully implement sendemail cmdline compatibility\n\nImplement the sendmail cmdline compatibility similarly to how it is done\nby git-send-email.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "075b35bf5b62778f1a3534dba55420d3e5a4a9fc",
      "tree": "0d8d408a530803a074079683ccd18ce5537d662d",
      "parents": [
        "8af31dfaa59e36ccb33f916e6ef8580327380cbd"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 10:29:08 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 20 10:29:08 2022 -0400"
      },
      "message": "Skip running smtp.quit to avoid checks for smtp server\n\nB4 is not a long-running process, so we don\u0027t need to explicitly close\nthe smtp connection. This avoids the problem of checking if \"smtp\" is\nactually an external sendmail-compatible command.\n\nReported-by: Leon Romanovsky \u003cleon@kernel.org\u003e\nLink: https://msgid.link/YymDlmJG8fNhvHSY@unreal\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8af31dfaa59e36ccb33f916e6ef8580327380cbd",
      "tree": "4230a5fa77f8d9cd102ea5f3eb8d9d8850c9ec8c",
      "parents": [
        "aa0999833b83da5d620f831d0e0198b1117d8d35"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 13:41:33 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 13:41:33 2022 -0400"
      },
      "message": "Update master version to 0.11-dev\n\nVersion 0.10.0 is out, time to dial this up to 11.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "aa0999833b83da5d620f831d0e0198b1117d8d35",
      "tree": "26b4faeced3006d61e978634766803affdc2ef32",
      "parents": [
        "c07e23d39cbc8899c1adeac62aec637d42490a7e"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 13:34:04 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 13:34:04 2022 -0400"
      },
      "message": "setup: update install_requires\n\nUpdate install_requires to match the latest supported versions and pull\nin git-filter-repo on default install.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c07e23d39cbc8899c1adeac62aec637d42490a7e",
      "tree": "08082b6bb7a4d6ad2b5d17a8e48cdf2b15f9f9b5",
      "parents": [
        "d8d415a7fe722cad8c433c2c88e1063c4e491b05"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 12:52:34 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 12:52:34 2022 -0400"
      },
      "message": "trailers: add a trailers-ignore-from config option\n\nWith bots frequently responding to patch submissions and providing a\nsuggested trailer to include *once the problem is fixed*, give folks an\noption to ignore any trailers from certain email addresses via the\ntrailers-ignore-from config setting.\n\nSuggested-by: Lucas De Marchi \u003clucas.demarchi@intel.com\u003e\nLink: https://msgid.link/20220916163101.2ij6uznmymqvgklt@ldmartin-desk2.lan\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d8d415a7fe722cad8c433c2c88e1063c4e491b05",
      "tree": "998010b5437aeb7dfa4869e8d213e328cb2982d6",
      "parents": [
        "cd43f60e6a496456e7e7e6a11b520b95efa420c5"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 11:38:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 11:38:18 2022 -0400"
      },
      "message": "command: add a link to online documentation\n\nPrint a link to the online documentation on --help invocation.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "cd43f60e6a496456e7e7e6a11b520b95efa420c5",
      "tree": "e669574fe1a659f87cb82a179a1bd03916289e02",
      "parents": [
        "e14f59f7a5db652ddbf729f60d592baa9f50cd7c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 11:37:34 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 16 11:37:34 2022 -0400"
      },
      "message": "docs: proofread and fixes\n\nA slew of proofreading fixes to documentation.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e14f59f7a5db652ddbf729f60d592baa9f50cd7c",
      "tree": "3d9759aa59ff83be35bd33db13ece6020846a616",
      "parents": [
        "38bef2d3878bc559b70e5441c7e874afbf7d00fa"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 17:27:00 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 17:27:00 2022 -0400"
      },
      "message": "man: add prep, send, trailers subcommands\n\nAlso, trim the configuration section and just give a link to the online\ndocs for it.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "38bef2d3878bc559b70e5441c7e874afbf7d00fa",
      "tree": "c4532f4c82b523d8dc0e6eb166eb0f51a4289d9a",
      "parents": [
        "b9a14bf7c448716f2a26c9fe98deb128e3676c7c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 17:18:22 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 17:18:22 2022 -0400"
      },
      "message": "docs: --save-maildir is not available with shazam\n\nFix the section on commands available for both am and shazam.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b9a14bf7c448716f2a26c9fe98deb128e3676c7c",
      "tree": "2424847c2088771d75a1927047a0cb753eb48050",
      "parents": [
        "ab5f4f7224ed7b5ba8dcf1a55205697d08ec7eff"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 16:24:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 16:24:18 2022 -0400"
      },
      "message": "docs: remove redundant \"b4\" from section titles\n\nWe don\u0027t need to duplicate b4 on every maintainer subcommand document.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ab5f4f7224ed7b5ba8dcf1a55205697d08ec7eff",
      "tree": "a56c5aff7eec6afb7c267d0d28b7b602133c4bea",
      "parents": [
        "7deabc08f4d7e8e5a5969504973e23c370a8b9c7"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 16:16:52 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 16:16:52 2022 -0400"
      },
      "message": "docs: add an admonition about existing PGP keys\n\nAdd a more visible note that generating a patatt key is not required if\nyou already have a PGP key configured.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7deabc08f4d7e8e5a5969504973e23c370a8b9c7",
      "tree": "e6a850b0bdd9beb9d5ffa851e28579c9e12b22ed",
      "parents": [
        "e1619ff516ac0a873ad41ee32d125566041fd8ee"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:55:02 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:55:02 2022 -0400"
      },
      "message": "docs: add \"available since\" version numbers\n\nSome features are only available in recent versions of b4, so mark those\nthat are new to v0.8 and later.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e1619ff516ac0a873ad41ee32d125566041fd8ee",
      "tree": "8acc6a92cadf8a96f92d907a739cc9ee06ff7dfa",
      "parents": [
        "5d3d1b88466c7ed1f581f4c5384692a27e7524ba"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:54:29 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:54:29 2022 -0400"
      },
      "message": "README: link to online documentation\n\nRemove outdated sections and link to online documentation at\nb4.docs.kernel.org.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "5d3d1b88466c7ed1f581f4c5384692a27e7524ba",
      "tree": "8ff5dbc8dcfbdccfd1ef09b8e504d5c6bcd2becf",
      "parents": [
        "d59fa46c4fd695b3853b396266d15124cf904f21"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:38:23 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:38:23 2022 -0400"
      },
      "message": "docs: add some cross-references\n\nComplete the configuration file section and add some cross-references\nwhere needed.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d59fa46c4fd695b3853b396266d15124cf904f21",
      "tree": "a051f4e9fb2099836c7ce53560147bf06ee7c0d9",
      "parents": [
        "87fe28fac71e77b42c161019ff464c84c67c4da4"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:17:59 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:17:59 2022 -0400"
      },
      "message": "docs: add b4 trailers documentation\n\nCompletes the \"ez\" set of features added in 0.10.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "87fe28fac71e77b42c161019ff464c84c67c4da4",
      "tree": "6b3b390d6830a9af2dd2e588c45bbbabe3695e2a",
      "parents": [
        "381118086e7a7c9fada649c15a67cd0c9e9fdcc0"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:07:07 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:07:07 2022 -0400"
      },
      "message": "docs: break out of infinite loop\n\nDespite what it may seem sometimes, working on a series is not an\ninfinite loop. :)\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "381118086e7a7c9fada649c15a67cd0c9e9fdcc0",
      "tree": "035201ec827259965a6981a7156b8a3ebf2022c9",
      "parents": [
        "c4176d071e7d5c39817570e93282632e04bf0ee1"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:00:24 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 15:00:24 2022 -0400"
      },
      "message": "docs: add the bulk of the b4 send documentation\n\nDocument most salient information about b4 send.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c4176d071e7d5c39817570e93282632e04bf0ee1",
      "tree": "8f7d17606c02caa404ca2634636732b8d9cb9cdc",
      "parents": [
        "355bd19d6686fe1df96b7394aaa78aa33b227f47"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 10:50:51 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 15 10:50:51 2022 -0400"
      },
      "message": "docs: add the bulk of documentation for b4 prep\n\nThis covers most of the workflow details for using b4 prep.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "355bd19d6686fe1df96b7394aaa78aa33b227f47",
      "tree": "25157c5db442506c9de40f083bc262968cc2d19b",
      "parents": [
        "2ce1e619ddb48a4ebda2f4afb39bdcd5baae9a95"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 17:21:57 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 17:21:57 2022 -0400"
      },
      "message": "docs: add overview for the contributor section\n\nThe hope is to complete the rest tomorrow so we can plan version 0.10.0\nrelease some time in the next short while.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2ce1e619ddb48a4ebda2f4afb39bdcd5baae9a95",
      "tree": "bfb94f7c58df8537133ce5982a7a6c401cbe2cf4",
      "parents": [
        "e0ec3889b71a2fa3d82164043e5f14aa8c4a2049"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 16:55:53 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 16:55:53 2022 -0400"
      },
      "message": "docs: complete most of the maintainer docs\n\nSome of the articles are still barely more than stubs, but it\u0027s better\nthan nothing at all.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e0ec3889b71a2fa3d82164043e5f14aa8c4a2049",
      "tree": "0773e5c7f865ad74db0ff8e4ba8a704f6ed41431",
      "parents": [
        "89fbe451d1b3734587869e62188f4c173c2a4d6d"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 11:48:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 14 11:48:18 2022 -0400"
      },
      "message": "docs: document b4 am/shazam options\n\nAdd documentation for b4 am and b4 shazam.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "89fbe451d1b3734587869e62188f4c173c2a4d6d",
      "tree": "bb0a6a413d7df25be33aef6a3c67ad5b70a7f16b",
      "parents": [
        "02757cc36088b96bfe1a7ea37b9512060ffcc4b9"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 18:09:35 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 18:09:35 2022 -0400"
      },
      "message": "docs: add more docs for configuration options\n\nStill lots to do, but we\u0027ll have good docs at the end of this.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "02757cc36088b96bfe1a7ea37b9512060ffcc4b9",
      "tree": "b5203ff64bb35fa0eb53c0c5902b3cecf7f3613d",
      "parents": [
        "9d7be6fb9103cf7dd5418e79782a187b9c2d7cf0"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 16:41:02 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 16:41:02 2022 -0400"
      },
      "message": "Improve worktree-default configuration loading\n\nIf we find a ~/.b4-config, we load it up before parsing any other\nconfiguration values we find. This allows us to override any worktree\ndefaults by user-specific settings.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9d7be6fb9103cf7dd5418e79782a187b9c2d7cf0",
      "tree": "8b28cbad592528ad1a48d868b8084afdac148681",
      "parents": [
        "bbe6187a90b643fd6e9d70fccdbf392b27ee0f4a"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 13:04:36 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 13:04:36 2022 -0400"
      },
      "message": "Improve the web endpoint validity check\n\nCheck that it actually starts with https://.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bbe6187a90b643fd6e9d70fccdbf392b27ee0f4a",
      "tree": "3da685feff837f73eac6290d487e39e42c02a7a9",
      "parents": [
        "7dadea51e9414806f159ceac62b7dfb05ad5ab09"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 10:46:46 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 10:46:46 2022 -0400"
      },
      "message": "Only accept web urls as valid endpoints\n\nWith .b4-config being able to specify endpoint defaults, allow users to\noverride it in their local configuration by setting send-endpoint-web to\n\"no\" (or any other non-URL string).\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7dadea51e9414806f159ceac62b7dfb05ad5ab09",
      "tree": "65bae2375310f2f706ab3d454e2903143bb8825b",
      "parents": [
        "bea1ad0834d7027997621e70e7ef2532f0f1359c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 10:02:19 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 13 10:02:19 2022 -0400"
      },
      "message": "Don\u0027t crash on DKIM resolver failures\n\nThere are many different exceptions thrown by the DKIM dns resolver, so\nwe can\u0027t possibly expect and catch them all cleanly. Do a blanket\ntry/catch for anything that bubbles up and mark DKIM as failed when that\nhappens.\n\nReported-by: Mark Brown \u003cbroonie@kernel.org\u003e\nLink: https://msgid.link/Yx8kXFRXB0chuYkL@sirena.org.uk\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bea1ad0834d7027997621e70e7ef2532f0f1359c",
      "tree": "945d9007f8cab433900168bf4ce621922b120e3b",
      "parents": [
        "84dd75d4b4877c28388a0dee7afe14dddc961228"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:19:46 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:55:32 2022 -0400"
      },
      "message": "Add toplevel .b4-config for b4 itself\n\nFolks who want to be able to contribute patches should be able to do it\nwith b4 itself.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "84dd75d4b4877c28388a0dee7afe14dddc961228",
      "tree": "a65243939eaa78c251b57903a0d8dbdb04c66d50",
      "parents": [
        "c78d2b4047c4892f757fff164ff7362123632c7c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:17:43 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:55:32 2022 -0400"
      },
      "message": "Allow defining in-tree .b4-config for send- parameters\n\nWe want to be able to allow projects using b4 for patch submission to\ndefine some toplevel parameters, such as where to send the series, or\nwhich endpoint to use. We only use this for b4.send- options, and for\nnow don\u0027t override anything set in any other config files.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c78d2b4047c4892f757fff164ff7362123632c7c",
      "tree": "8767a949e0347c08d5b67fd41e8cf7a11a9a9d94",
      "parents": [
        "41df95bf27fd90391c3244bd96ce3be7200f12a0"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:51:15 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:51:15 2022 -0400"
      },
      "message": "ez: fix crash on send-series-to/cc defined in config\n\nFixes a bug that caused wrong entries in the extra trailers list.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "41df95bf27fd90391c3244bd96ce3be7200f12a0",
      "tree": "26cece2123199d1c75c55b6108cdacd4f71d8c69",
      "parents": [
        "d709ca8b42aa6bf222e90967d736cc3c2fcf7b5a"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:37:32 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 17:42:35 2022 -0400"
      },
      "message": "ez: modify default template to move trailers below comments\n\nThe comments are throwing off our trailer parsing, so move the trailers\nbelow the comments describing how to use trailers.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d709ca8b42aa6bf222e90967d736cc3c2fcf7b5a",
      "tree": "f6039195035b0e619458008a443f4a4c42dc5e41",
      "parents": [
        "09bd354d0ae2d3d796b2a56e9e8555900a4be259"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 16:27:42 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 16:27:42 2022 -0400"
      },
      "message": "ez: auto-populate To: and Cc: trailers at prep time\n\nInstead of running tocmd and cccmd at send-time, move it to the prep\nstage and store the results in the cover letter. This will allow\ndevelopers to finecomb where the series should be sent.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "09bd354d0ae2d3d796b2a56e9e8555900a4be259",
      "tree": "ccd93bf061783392f14d9e987f1fdd53ae1c57e8",
      "parents": [
        "9585564db03ac5a25cc4eeadea6240c0a27e749a"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 11:05:35 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Sep 12 11:05:35 2022 -0400"
      },
      "message": "ez: split --no-auto-to-cc into two commands\n\nInitial work on making the automatic addressee selection a bit more\nrobust. I am not sure this is going quite the right way, but I wanted to\nmake a point where we can go back to in case things go down the wrong\npath.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9585564db03ac5a25cc4eeadea6240c0a27e749a",
      "tree": "8bf1e7b1c16af8381bea604fb3481cbcd00bf9a1",
      "parents": [
        "df873fb0421774692781ab8edd404deb27c1158c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 08 16:52:59 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 08 16:52:59 2022 -0400"
      },
      "message": "docs: reorder, add some more stubs, and some content\n\nI was going to write a lot more today, but *gestures widely at\neverything*. Hopefully, more to come tomorrow.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "df873fb0421774692781ab8edd404deb27c1158c",
      "tree": "8712f918a3d6ce93ba2696e8c78e23521cf4d8a1",
      "parents": [
        "ee6f2430833afd2cd1e562e98ef66cb343327f0f"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 17:21:38 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 17:21:38 2022 -0400"
      },
      "message": "docs: add installation instructions\n\nLargely, this mirrors the README, but provides more information about\ninstalling and upgrading from pip vs. using the git checkout directly.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ee6f2430833afd2cd1e562e98ef66cb343327f0f",
      "tree": "7120fbdfda0cb5d242a19721da97637b640fcda6",
      "parents": [
        "ee4d29c39b7fc5f14b23214e84bc6acd4b73a7fb"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 15:46:22 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 15:46:22 2022 -0400"
      },
      "message": "docs: add stubs for subtopics\n\nMostly, I want to make sure that readthedocs is building things\ncorrectly. Actual documentation shortly forthcoming.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ee4d29c39b7fc5f14b23214e84bc6acd4b73a7fb",
      "tree": "eb2062dc7329ce1a7ad09c4fa91fcd6c190d0a80",
      "parents": [
        "dcb1e99bce3edf0e80c1643124a2a93286a7043e"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 13:00:54 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 13:00:54 2022 -0400"
      },
      "message": "docs: create sphinx docs stub\n\nThe goal is to build it via github/rtd integration, so get a stub going\nso we can test that setup.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "dcb1e99bce3edf0e80c1643124a2a93286a7043e",
      "tree": "5d89520176eab54f906b23dda7fb24bbf6944478",
      "parents": [
        "1911df7dd81e6bf0cf337f006ac94218097d191b"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 09:45:58 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Sep 07 09:45:58 2022 -0400"
      },
      "message": "ez: add prep --manual-reroll COVER_MSGID\n\nFor folks who prefer to do the actual sending using git-send-email or\nany other mechanism, provide a way to trigger the reroll magic manually.\n\nSuggested-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nLink: https://msgid.link/Yxecq5DHE5oW0XJD@google.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1911df7dd81e6bf0cf337f006ac94218097d191b",
      "tree": "2dcb93a6ba603206d913c93cc93fe6b672ae38a5",
      "parents": [
        "fc921c6deadff376d728e41ba9d709d1ce8616df"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 06 17:06:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Sep 06 17:06:18 2022 -0400"
      },
      "message": "Fix pr explode functionality\n\nI don\u0027t believe anything actually uses it, but it needed to be fixed\nanyway. I still might use it as part of the git pull archiving service.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fc921c6deadff376d728e41ba9d709d1ce8616df",
      "tree": "1d9d80942878a02eb76330d601547d43b849b742",
      "parents": [
        "6750e8da440da0cecbb924a3989142da448fb84d"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 02 14:15:13 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Sep 02 14:15:13 2022 -0400"
      },
      "message": "Fix dedupe on using cached threads\n\nWe were not properly running dedupe on cached threads, so fix it by only\ncaching post-dedupe messages.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6750e8da440da0cecbb924a3989142da448fb84d",
      "tree": "717e25ce73224e5aa9c7db48393849a72b0aa8f8",
      "parents": [
        "ce8a43b22eb68c03d57bcd810b2c3bde1431634c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 17:20:37 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 17:20:37 2022 -0400"
      },
      "message": "mbox: accept arbitrary public-inbox URLs\n\nWhen \"b4 am\" or \"b4 mbox\" is passed an arbitrary URL that matches a\npublic-inbox scheme but that doesn\u0027t match the midmask URL, assume the\nuser knows what they are doing and attempt to retrieve the mbox.\n\nSuggested-by: Philippe Blain \u003clevraiphilippeblain@gmail.com\u003e\nLink: https://msgid.link/f2b0f3c1-d98d-979d-1513-18f2491f4267@gmail.com\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ce8a43b22eb68c03d57bcd810b2c3bde1431634c",
      "tree": "3523be66c60d7f5a2f07fc6e22a1d07d3e67cb0f",
      "parents": [
        "a68fc5d69c67c5b79206a274e834d1d2856c932d"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 17:01:04 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 17:01:04 2022 -0400"
      },
      "message": "trailers: improve debugging of mismatched trailers\n\nWhen we\u0027re adding a mismatched trailer, tell us why it hasn\u0027t been\naccepted.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a68fc5d69c67c5b79206a274e834d1d2856c932d",
      "tree": "902b3fb1f27f5e5360af0d7e1f935d3c86b6f129",
      "parents": [
        "75f4cffcc815429e1cf13d35d17c7954dc6614c2"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 16:48:42 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 16:48:42 2022 -0400"
      },
      "message": "Fix regression that resulted in ignored -p\n\nLooks like at some point we started ignoring the -p flag, so restore\nthis to the expected functionality\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "75f4cffcc815429e1cf13d35d17c7954dc6614c2",
      "tree": "8731b6a984762dd0db539755dcf04cf2f167c3c7",
      "parents": [
        "03aea08e2ce2ecabcebb618ee9f6d18a909c41d4"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 15:51:37 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 15:51:37 2022 -0400"
      },
      "message": "ez: add b4 -F to allow (re-)creating branches from threads\n\nIt is now possible to create a b4-tracked branch from an arbitrary\nthread (or from a previously sent b4-tracked series):\n\n    b4 prep -F [msgid-of-the-series]\n\nExample:\n\n    $ b4 prep -F 20220901194310.115427-1-tony.luck@intel.com\n    Grabbing thread from lore.kernel.org/all/20220901194310.115427-1-tony.luck%40intel.com/t.mbox.gz\n    Checking attestation on all messages, may take a moment...\n    ---\n      ✓ [PATCH 1/3] EDAC/skx_common: Use driver decoder first\n      ✓ [PATCH 2/3] EDAC/skx_common: Make output format similar\n      ✓ [PATCH 3/3] EDAC/i10nm: Add driver decoder for Ice Lake and Tremont CPUs\n      ---\n      ✓ Signed: DKIM/intel.com\n    ---\n    Created new branch b4/edac_improve_memory\n    Applying 3 patches\n    ---\n    Applying: EDAC/skx_common: Use driver decoder first\n    Applying: EDAC/skx_common: Make output format similar\n    Applying: EDAC/i10nm: Add driver decoder for Ice Lake and Tremont CPUs\n    ---\n    NOTE: any follow-up trailers were ignored; apply them with b4 trailers -u\n\nThis makes it easier to start tracking pre-existing series with b4 prep.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "03aea08e2ce2ecabcebb618ee9f6d18a909c41d4",
      "tree": "632cd57017810527b9d24ff35fed315b312f4f7f",
      "parents": [
        "b62e04aca672c0894638035ca777035f7658a05a"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 12:47:53 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 12:47:53 2022 -0400"
      },
      "message": "tests: test partial reroll correctness\n\nWhen rerolling partial series, check that the trailers are applied\ncorrectly.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b62e04aca672c0894638035ca777035f7658a05a",
      "tree": "294d065895579ec21a1d6c97bfc586339be378ff",
      "parents": [
        "7d1a05ed58f244640ab59680ac4b836d7ca726c8"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 10:11:58 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 10:11:58 2022 -0400"
      },
      "message": "send-receive: don\u0027t keep db connections open for long\n\nWe expect to be mostly sitting idle, so close any pooled db connections\nafter 5 minutes of inactivity.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7d1a05ed58f244640ab59680ac4b836d7ca726c8",
      "tree": "3c48ea517b04fa8ecf4d65d1b826a8ab523febe6",
      "parents": [
        "1ee1cff0a8e7c8ca0aa4992535de78aa54aebcb3"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 08:45:58 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Sep 01 08:45:58 2022 -0400"
      },
      "message": "trailers: ignore non-recognized link trailers\n\nIf a link contains a \u0027@\u0027, we wrongly consider it a person-trailer.\nIgnore any URL-containing trailers that we don\u0027t explicitly recognize.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1ee1cff0a8e7c8ca0aa4992535de78aa54aebcb3",
      "tree": "ce5024c4a69f9651f880ae04a49d57daae879044",
      "parents": [
        "3b34443b1e40205bf4ed5a974674a5bfbad01a2c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:39:00 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:39:00 2022 -0400"
      },
      "message": "trailers: ignore merges when looking at the commit log\n\nWhen finding the range of most recent commits for b4 trailers -u, ignore\nany merge commits.\n\nReported-by: Vishal Verma \u003cvishal@kernel.org\u003e\nLink: https://msgid.link/2517d5cdff57048a13e85b9604957b73b69724c3.camel@kernel.org\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3b34443b1e40205bf4ed5a974674a5bfbad01a2c",
      "tree": "5068f030c2dd22b1403ad281edc506ae9dff407b",
      "parents": [
        "6094d8fc8c193b27df8bf74826076dd8d26e0c42"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:21:58 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:21:58 2022 -0400"
      },
      "message": "send-receive: close connections once we\u0027re done\n\nAs opposed to b4 itself, this is a long-running process, so we need to\nremember to close connections after we\u0027re done with them as opposed to\nthem automatically getting cleaned up on b4 exit.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6094d8fc8c193b27df8bf74826076dd8d26e0c42",
      "tree": "6668aff6f203cbd7a5190508810b5fa4f154b3d5",
      "parents": [
        "fb14c834db42b35ac71c53ba78ffaed49b9d05cf"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:07:20 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 17:07:20 2022 -0400"
      },
      "message": "Fix regression with b4 trailers -u\n\nFixes regression introduced by trailers refactor.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fb14c834db42b35ac71c53ba78ffaed49b9d05cf",
      "tree": "953e25cfba30f90d59c7eb21f475a396b1302cf6",
      "parents": [
        "63d5313664c96cdfcee345f5c880f9973a3ee1da"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 16:47:28 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 16:47:28 2022 -0400"
      },
      "message": "Fix regression incorrectly reporting mismatches\n\nAdd a missing continue that caused incorrectly reported trailer\nmismatches.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "63d5313664c96cdfcee345f5c880f9973a3ee1da",
      "tree": "896d310748c1a079552199eb67c4e77ed5bfb6b3",
      "parents": [
        "e7564108c7e68094f1a6320f4166185a3e29cac1"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 15:09:47 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 31 15:09:47 2022 -0400"
      },
      "message": "Refactor how we handle trailers\n\nWith the addition of b4 trailers it became pretty obvious that the way\nwe originally implemented trailers didn\u0027t age well. This refactor does\nthe following:\n\n- introduces LoreTrailer class to replace passing trailers as tuples\n- reimplements trailer-order with strict adherence to chain-of-custody\n  rules\n- adds tests to most common trailer follow-up/ordering cases\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e7564108c7e68094f1a6320f4166185a3e29cac1",
      "tree": "470f8a82554c0541e36ab43a06e418d9308e2b38",
      "parents": [
        "bfc54c8b55425f82574fbda42fbb10851b99dfa6"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 30 11:19:07 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 30 11:19:07 2022 -0400"
      },
      "message": "ez: reimplement --resend\n\nInstead of --resend just being a flag to add a RESEND prefix, allow us\nto actually resend a previously sent series using the tag we have\napplied and stored in sent/.\n\nE.g. if we have previously sent a v2, thus automatically rerolling a v3,\nwe can resend a v2 again without needing to do anything else by using:\n\nb4 send --resend v2\n\nalternatively, we can use a full tag name:\n\nb4 send --resend sent/some-series-topic-v2\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bfc54c8b55425f82574fbda42fbb10851b99dfa6",
      "tree": "58805d5d772e1476e3c5fc2b6f4d9a45cd966b6a",
      "parents": [
        "bf8574399c9f21ac5279230b1875fd843768f7cf"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 30 09:28:17 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 30 09:28:17 2022 -0400"
      },
      "message": "Implement sending mail via local command\n\nThe git-send-email configuration allows smtpserver to be defined as a\npath to a local sendmail-like command. Implement the same logic in b4,\nallowing fuller compatibility with git-send-email.\n\nSuggested-by: Maxime Ripard \u003cmaxime@cerno.tech\u003e\nLink: https://msgid.link/20220830122217.h52zswusnlb3iggq@meerkat.local\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bf8574399c9f21ac5279230b1875fd843768f7cf",
      "tree": "74dd938334918f594454da5e21ab51215cc97490",
      "parents": [
        "2d2c86e713fb523e7a17c3d343a7c8bf68cf4a53"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 17:04:11 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 17:04:11 2022 -0400"
      },
      "message": "Improve sendemail identity handling\n\nThe sendemail sections are supposed to be fall-throughs where a named\nsection overrides the values provided by the global section. This\nimplements the required logic to be compliant with git.\n\nSuggested-by: Rob Herring \u003crobh@kernel.org\u003e\nLink: https://msgid.link/20220825182506.1449442-1-robh@kernel.org\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2d2c86e713fb523e7a17c3d343a7c8bf68cf4a53",
      "tree": "51a1a6d0db721e4faca09f2556263cdff81a2206",
      "parents": [
        "99d3146f122ee009691bb1727f8145b329199415"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "robh@kernel.org",
        "time": "Thu Aug 25 13:25:19 2022 -0500"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 16:53:57 2022 -0400"
      },
      "message": "ez: Fix adding \u0027RESEND\u0027 to patch subject\n\nIf --resend option is given, the \u0027RESEND\u0027 prefix is not added to the patch\nsubject(s). This is because the original command line prefix list is\npassed rather than the modified prefix list.\n\nSigned-off-by: Rob Herring \u003crobh@kernel.org\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "99d3146f122ee009691bb1727f8145b329199415",
      "tree": "ae02d7b165132adfdc73992dd73423f3db5e62e0",
      "parents": [
        "ef0528a9f2e1d55471b2109fcfffbc48b0e1ffd7"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 15:15:35 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 15:15:35 2022 -0400"
      },
      "message": "Force CRLF lineseps only right before sending via smtp\n\nWe could be sending the patches via a web endpoint, for which we don\u0027t\nneed to force CRLF line endings. Convert into CRLF only immediately\nbefore sending the message out via smtp.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ef0528a9f2e1d55471b2109fcfffbc48b0e1ffd7",
      "tree": "b8e4afb9e080bea1cc3e7041252900263d5b0d1f",
      "parents": [
        "65ba7a9d3ee989035a875e7c108f1733e92c7ea0"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 13:55:07 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 29 13:55:07 2022 -0400"
      },
      "message": "send-receive: improve logging and returned errors\n\nAdds file logging, improves errors returned to the client, and makes\ntemplates more easily configurable via the config file.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "65ba7a9d3ee989035a875e7c108f1733e92c7ea0",
      "tree": "2cdc5ecfe5cecc2d1eb330168b61846f2607e648",
      "parents": [
        "e107170fc17e3e2effb6a1629a8658497f59375b"
      ],
      "author": {
        "name": "Philippe Blain",
        "email": "levraiphilippeblain@gmail.com",
        "time": "Tue Aug 23 23:05:26 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 24 10:00:52 2022 -0400"
      },
      "message": "setup.py: bump python_requires to 3.8\n\nSince c95e4d1 (am: Fix broken guessbranch handling, 2022-03-31), b4 uses\nthe \u0027extend\u0027 action for the \u0027--guess-branch\u0027 argument. This action is\nnew in Python 3.8 [1], but setup.py still lists Python 3.6 as the\nminimum version.\n\nThis leads Pip to allow installing or upgrading b4 on Python 3.6 or 3.7,\nbut then any invocation of b4 fails with an error from the argparse\nmodule ending with:\n\n    ValueError: unknown action \"extend\"\n\nFix this by bumping python_requires to 3.8.\n\n[1] https://docs.python.org/3/library/argparse.html#action\n\nSigned-off-by: Philippe Blain \u003clevraiphilippeblain@gmail.com\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e107170fc17e3e2effb6a1629a8658497f59375b",
      "tree": "b749e82fc89c0bfd2d31f701bb6561e2c9f24376",
      "parents": [
        "a17dd19c0426b37de2262b50bfba4761b863a6d6"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 16:26:15 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 16:26:15 2022 -0400"
      },
      "message": "send-receive: add support for writing to public-inbox\n\nImplement writing to public-inbox repositories using the ezpi library.\nThis allows us to store messages as-is before we do any mangling for\nFrom/Reply-to.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a17dd19c0426b37de2262b50bfba4761b863a6d6",
      "tree": "acda242de357eee347fc86ae552c7a2d40290b3b",
      "parents": [
        "7b8cd8047d3c17b08ad888e5bf525bdcb9cc6bbd"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:31:07 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:31:07 2022 -0400"
      },
      "message": "ez: move the RESEND prefix into --resend switch\n\nFor UX reasons, make --resend a separate switch instead of operating on\nthe --prefixes RESEND logic.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7b8cd8047d3c17b08ad888e5bf525bdcb9cc6bbd",
      "tree": "d660be26429f3f88eb21dc702e45ba072a88361c",
      "parents": [
        "ae63faa8e546381ab16f18bdfeb66a9cee86c88b"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:29:02 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:29:02 2022 -0400"
      },
      "message": "ez: only use web endpoint when sending patches\n\nForce the use of smtp server when sending anything other than patches\n(e.g. b4 ty automated responses).\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ae63faa8e546381ab16f18bdfeb66a9cee86c88b",
      "tree": "fa3af49c537416d8f4539716be95fa81e45e3c42",
      "parents": [
        "138adb3faf9b5c622100169c2518f5d9e81672bb"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:22:22 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 23 13:22:22 2022 -0400"
      },
      "message": "send-receive: add some anti-spam protections\n\nThe goal of this service is to accept and send patches, nothing else.\nIt\u0027s not a replacement for an SMTP server, just a replacement for really\nterrible SMTP servers that mangle patches. So, add some anti-spam\nprotections:\n\n- only accept email that looks like patches or cover letters\n- don\u0027t accept anything other than text/plain mail\n- require that one of the to/cc addresses matches a predefined list of\n  recognized mailing lists\n\nNot a guarantee that this service won\u0027t get abused, but it\u0027s a start to\nmake sure that it won\u0027t be quite as tasty of a target.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "138adb3faf9b5c622100169c2518f5d9e81672bb",
      "tree": "f629d4fb3218a976d0289b06c41e98d83896117c",
      "parents": [
        "6d8abb347af380dab9c7952260622f955d86c995"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:37:35 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:37:35 2022 -0400"
      },
      "message": "ez: allow defining commands for getting To: and Cc: addresses\n\nWe will still use get_maintainer.pl if we find it, but it is now\npossible to override it with send-auto-to-cmd and send-auto-cc-cmd\nconfig values.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6d8abb347af380dab9c7952260622f955d86c995",
      "tree": "1cc13a25212817163a37cac0395d77842568e4b0",
      "parents": [
        "0c1df59fccc0174838d6fd6f8d2bd1248ce706b2"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:30:21 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:30:21 2022 -0400"
      },
      "message": "ez: allow passing --since to b4 trailers\n\nReduce the default range to 1.month and allow overriding with other\nvalues when trying to update trailers from arbitrary ML threads.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0c1df59fccc0174838d6fd6f8d2bd1248ce706b2",
      "tree": "c92ec83762d7b083926f11c4e76f1602cd50978d",
      "parents": [
        "06fd3bb3494d305e862c226a1398b47a23fcbff0"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:03:24 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 22 13:03:24 2022 -0400"
      },
      "message": "Update patatt to 0.6.0 and up version in requirements.txt\n\nPatatt-0.6.0 is out and we need it for the current version of b4.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "06fd3bb3494d305e862c226a1398b47a23fcbff0",
      "tree": "78ce2a701f601d9a7fbe061e3204fc776cf5faed",
      "parents": [
        "1c51bebcfa329b2fb9cfae1107427399698817c5"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 16:26:14 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 16:35:17 2022 -0400"
      },
      "message": "ez: fix logic error when using arbitrary threads for trailer updates\n\nFixes a logic error that was picking the wrong starting commit in\nthe \"most recent contiguous range of our commits\".\n\nReported-by: Conor Dooley \u003cconor.dooley@microchip.com\u003e\nLink: https://msgid.link/e2ca58f1-3c10-0dc6-ebdb-3ca088b430d7@conchuod.ie\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1c51bebcfa329b2fb9cfae1107427399698817c5",
      "tree": "429124cb2cf81f75c297185d89466c0899f69a0e",
      "parents": [
        "224a5d15dec8691a45d5ba1ead5dea522f9b9e60"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 15:46:57 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 15:46:57 2022 -0400"
      },
      "message": "ez: implement large chunk of web endpoint submission\n\nThis implements most of the web endpoint submission functionality.\nCompletely undocumented and needs a lot more testing before it\u0027s useful,\nbut we\u0027re getting close.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "224a5d15dec8691a45d5ba1ead5dea522f9b9e60",
      "tree": "08320df3dc09726dea185dd1c7659c11356c9902",
      "parents": [
        "c53d8e15499005c07cb6d423d0d8b57fd08ae840"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 14:42:21 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Aug 19 14:42:21 2022 -0400"
      },
      "message": "Update patatt to latest upstream\n\nFixes a bug with \\r\\n and \\n endings that we\u0027re hitting.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c53d8e15499005c07cb6d423d0d8b57fd08ae840",
      "tree": "5bbf61f538dbc67bf885f173ac161878d9275cd1",
      "parents": [
        "83b185a8c9736e504c28949e9e5e2cdf5d8314ce"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 17 16:25:21 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Aug 17 16:25:21 2022 -0400"
      },
      "message": "ez: initial rework of web submission endpoint\n\nReimplement initial enrolment with the web submission endpoint. A lot\nmore work is required before this is useful, but we\u0027re at least able to\nauthenticate received messages.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "83b185a8c9736e504c28949e9e5e2cdf5d8314ce",
      "tree": "5c05330c983a3459f3221469d89e21a7bf148891",
      "parents": [
        "44431bc042de69ddc51a3d6e4e37acb249cf29cf"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 16 15:35:10 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Aug 16 17:00:14 2022 -0400"
      },
      "message": "ez: support enrolling branches using tags\n\nAllow using tags when enrolling branches instead of only allowing branch\nnames. In fact, with the default \"commit\" strategy we can even enroll\nusing something like HEAD~3, but that\u0027s not recommended for newbies --\njust pass the branch name.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "44431bc042de69ddc51a3d6e4e37acb249cf29cf",
      "tree": "965f2f6020cae937c909f71400c261644fe7e1e7",
      "parents": [
        "a76f5c19f80da7dd9416c6e29da7835d53b2d893"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 15 12:50:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 15 12:50:18 2022 -0400"
      },
      "message": "ez: do not bail on untracked files for prep tasks\n\nWe\u0027re not going to care about untracked files for most of b4 prep\noperations, so don\u0027t error out when they are present and we\u0027re running\n\"is the tree clean\" checks.\n\nSuggested-by: Maxime Ripard \u003cmaxime@cerno.tech\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a76f5c19f80da7dd9416c6e29da7835d53b2d893",
      "tree": "1f412d305d2860502f536ccdcba90401227afb90",
      "parents": [
        "fe10a6b240621608de49dc4445a02b79c5611f15"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 08 17:43:18 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Aug 08 17:43:18 2022 -0400"
      },
      "message": "ez: chdir to toplevel when running get_maintainer\n\nThe scripts expect to be running from the toplevel directory, so make\nsure to switch back to git topdir before running get_maintainer.pl\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fe10a6b240621608de49dc4445a02b79c5611f15",
      "tree": "4960d8e2b3b0148a8455d4ff542320f8c918d0c4",
      "parents": [
        "761edf1cc65e5fabac60cba21be90ff7ddfb67da"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 17:09:17 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 17:09:17 2022 -0400"
      },
      "message": "ez: fix regression when running b4 trailers\n\nDo not crash when one of the msgs is a None (usually, the cover commit).\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "761edf1cc65e5fabac60cba21be90ff7ddfb67da",
      "tree": "9bece784003aef336cf2af27b9b015e64ea1ce4e",
      "parents": [
        "49460b80d7d4f52c3de9f00032e3a1525d38d738"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 17:06:46 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 17:06:46 2022 -0400"
      },
      "message": "ez: minor fixes to logic and output\n\nFixes a logical problem where we showed duplicate addresses in the list,\nand unwraps headers before we print them out.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "49460b80d7d4f52c3de9f00032e3a1525d38d738",
      "tree": "01a0755b547d64fd37228d09f4a55f0c9bb6015c",
      "parents": [
        "0262a70bd881f1c8370a07fcae725e96ea3a2a7c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 12:20:04 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Thu Jul 28 12:20:04 2022 -0400"
      },
      "message": "ez: fix typos on logger calls\n\nFixes types in logger calls.\n\nReported-by: Maxime Ripard \u003cmaxime@cerno.tech\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0262a70bd881f1c8370a07fcae725e96ea3a2a7c",
      "tree": "40b30fc0a07b94138aac320b85208f003810d3a0",
      "parents": [
        "9e95d523c9b936ecda8ac842dc520b54d1706ff2"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 15:51:58 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 15:51:58 2022 -0400"
      },
      "message": "ez: tell us where we got current strategy\n\nWhen getting strategy from branch configs, tell us that it\u0027s where it\ncame from.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9e95d523c9b936ecda8ac842dc520b54d1706ff2",
      "tree": "8e80139b1f576124c056909f95535c96b45ebbc3",
      "parents": [
        "81e45945580d7c97dc22e798b2a9d73ffb61214c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 14:37:03 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 14:37:03 2022 -0400"
      },
      "message": "ez: implement tip-commit strategy\n\nFirst go at implementing the tip-commit strategy. It shares a lot with\nthe \u0027commit\u0027 strategy, but there are gotchas for situations where the\ncover letter commit is suddenly not the tip commit any more (rebase, new\ncommits, etc).\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "81e45945580d7c97dc22e798b2a9d73ffb61214c",
      "tree": "a6405d24c3e3dadc38e81676d22f4d3423cf90e9",
      "parents": [
        "6db02ed5afacdc8f1ec1756702d1582b7bf24e9c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:43:53 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:43:53 2022 -0400"
      },
      "message": "ez: implement enrolling branches with commit strategy\n\nIt\u0027s a bit scary to hard-reset the branch and then cherry-pick the range\nover it, but it should be working reliably in the vast majority of\ncases.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6db02ed5afacdc8f1ec1756702d1582b7bf24e9c",
      "tree": "3024d839c3982a779a9b9c311ca1436aed629c95",
      "parents": [
        "9d64075f5902052a83a722306239ac8d033b84b3"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:17:12 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:17:12 2022 -0400"
      },
      "message": "ez: record cover strategy on branch creation/enrollment\n\nJust in case someone desides to switch the global cover strategy to\nsomething else, record the current branch strategy as part of the branch\nconfig.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9d64075f5902052a83a722306239ac8d033b84b3",
      "tree": "a6a033ba3d16a8aeae175a757b481bef0426a111",
      "parents": [
        "d1cc204a33fc4ae0c2c5b7e6fe6aef720454d239"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:08:28 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 27 13:08:28 2022 -0400"
      },
      "message": "ez: some cleanups and error handling for revision tagging\n\nHandle some of the potential errors that could come up when tagging\nhistorical versions.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d1cc204a33fc4ae0c2c5b7e6fe6aef720454d239",
      "tree": "9d625da2cb45ea8846bdc738e0c8240b5a95d877",
      "parents": [
        "13c24f6d7a2965d903bd357c384a7e4d814187a6"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Jul 26 16:29:17 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Jul 26 16:29:17 2022 -0400"
      },
      "message": "ez: another overhaul of commands and flags\n\nAnother, hopefully final overhaul of commands and flags:\n\n- \"b4 ez-series\" is now \"b4 prep\"\n- \"b4 ez-trailers\" is now \"b4 trailers\"\n- \"b4 ez-send\" is now \"b4 send\"\n\nI\u0027ve also split on-disk output into two different commands:\n\nb4 prep --format-patch \u003coutdir\u003e: does not set To/Cc and doesn\u0027t do any From\nmagic. In effect, it\u0027s as close as it gets to git format-patch output\ncompatibility.\n\nb4 send --dry-run -o \u003coutdir\u003e: generates the messages exactly as they\nare about to be sent, then writes them out to the directory specified.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "13c24f6d7a2965d903bd357c384a7e4d814187a6",
      "tree": "8e623973df799fe80086aa6f9152245f30c2253e",
      "parents": [
        "78725ba63b2f48bd0f0a3f716908966773f36f8f"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Jul 26 12:39:00 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Tue Jul 26 12:39:00 2022 -0400"
      },
      "message": "ez-send: fix To: inclusion and address collection\n\nFix a logic bug that prevented the To: header from being added on\n--dry-run and do a better job making sure the addresses are valid and\nsane.\n\nReported-by: Mattijs Korpershoek \u003cmkorpershoek@baylibre.com\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "78725ba63b2f48bd0f0a3f716908966773f36f8f",
      "tree": "2f2bd7db12035e8337e33b91c3c9d3078d480f60",
      "parents": [
        "c773196cfd5bd41e7112cbf74eba866efd723098"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Jul 25 16:59:15 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Mon Jul 25 16:59:15 2022 -0400"
      },
      "message": "ez-send: initial support for tagging sent revisions\n\nAfter we sent off the revision, create the structure in the tree that\nwould allow us to go back to that revision regardless of what changes we\nmake to the working branch. This is tricky for the default \"commit\"\nstrategy, because we want to remove the cover letter from the history\nand store its final version in the tag applied to the tip commit.\n\nFor this, we create a detached head, cherry-pick the range without the\ncover, and then tag the resulting detached head.\n\nFuture work will make it possible to prep and send these as pull\nrequests.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c773196cfd5bd41e7112cbf74eba866efd723098",
      "tree": "77b8571fa14e2a9bcc898040e5fcc3dc14f4018e",
      "parents": [
        "11e7e77db0f92864a3e203e5e824c4d5f6de5f77"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Jul 22 15:23:44 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Jul 22 15:23:44 2022 -0400"
      },
      "message": "Fix regression introduced by ez-trailers work\n\nI need to refactor the entire approach to trailers so we stop passing\naround tuples. It made sense at the time, but now it\u0027s just a source of\nbugs.\n\nReported-by: Mark Brown \u003cbroonie@kernel.org\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "11e7e77db0f92864a3e203e5e824c4d5f6de5f77",
      "tree": "ace87fe6eed9e36e489e5eb6a3dfd3517463f438",
      "parents": [
        "d952f4b20bc1e805223e2aaf62ae69cb1d41fbea"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Jul 22 15:02:30 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Fri Jul 22 15:02:30 2022 -0400"
      },
      "message": "ez: bail on unknown cover letter strategy\n\nWe currently only support \"commit\" and \"branch-description\" strategies.\nTwo more may be implemented in the future, but I need to figure out if\ncommit reordering can be done with git-filter-repo or not.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d952f4b20bc1e805223e2aaf62ae69cb1d41fbea",
      "tree": "96258c18bf5126d52d02bc03775f1be556b90dfc",
      "parents": [
        "c3405761fafed6a08824297e8792391857452bb2"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 17:38:02 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 17:38:02 2022 -0400"
      },
      "message": "ez-send: don\u0027t wrap headers in format-patch mode\n\nWhen writing out message in format-patch compatibility mode, do not wrap\nheaders, otherwise checkpatch or git-send-email may complain.\n\nReported-by: Sudeep Holla \u003csudeep.holla@arm.com\u003e\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c3405761fafed6a08824297e8792391857452bb2",
      "tree": "4541977a2d47745ed27a0f533468a6e88a7cd8e2",
      "parents": [
        "e2b6fe0a2288c1c79e5d4f0d8b48d86b81d5b31f"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 16:30:16 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 16:30:16 2022 -0400"
      },
      "message": "ez-send: give ability to bail out before sending\n\nJust in case something got screwed up, give folks an overview of what\nwill be sent and ability to bail out before sending things off.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e2b6fe0a2288c1c79e5d4f0d8b48d86b81d5b31f",
      "tree": "5eb756af972281aef94635ad816d46f34ea208b2",
      "parents": [
        "bffadb84b0d1970a55c6d2176133670af64f109e"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:54:40 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:54:40 2022 -0400"
      },
      "message": "ez-send: don\u0027t auto-increment revision on RESEND\n\nIf one of the previxes is RESEND, then we don\u0027t auto-increment revision.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bffadb84b0d1970a55c6d2176133670af64f109e",
      "tree": "b44bd0231267b6f675378794e25e1154c575d1c9",
      "parents": [
        "73debe3dbe3c955634d106233114508bb5e7fe00"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:50:52 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:50:52 2022 -0400"
      },
      "message": "ez-series: add --show-revision and --force-revision\n\nShow current revision with --show-revision and allow setting it to an\narbitrary integer using --force-revision.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "73debe3dbe3c955634d106233114508bb5e7fe00",
      "tree": "354c8c81c22a8376d7f4d10faa15f9ae71ea4742",
      "parents": [
        "f0fad6ec193c39626e90d01dcbb6541c66b9fdef"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:27:42 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 13:27:42 2022 -0400"
      },
      "message": "ez-trailers: fix regression when applying trailers\n\nWe were wrongly triggering trailer updates when there were, in fact, no\noutstanding trailer updates to apply.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f0fad6ec193c39626e90d01dcbb6541c66b9fdef",
      "tree": "5c256a0b04128d0ddd3d15bf2607ce39b709e5a1",
      "parents": [
        "45aaaf33f00e3d05456394775802d7551b20757c"
      ],
      "author": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 10:26:55 2022 -0400"
      },
      "committer": {
        "name": "Konstantin Ryabitsev",
        "email": "konstantin@linuxfoundation.org",
        "time": "Wed Jul 20 10:26:55 2022 -0400"
      },
      "message": "ez: refactor based on initial feedback\n\nSignificant refactor of (formerly) \"b4 submit\" based on initial\nfeedback:\n\n1. Split \"b4 submit\" into three different commands:\n\n  - ez-series: for managing the series cover letters, tracking info, etc\n  - ez-trailers: for retrieving trailers and updating commits (works on\n  any branch, not just ez-series branches)\n  - ez-send: for sending branches managed by ez-series\n\n2. Refactor to support multiple cover letter strategies:\n\n  - the default \"commit\" strategy that keeps the cover letter in an\n  empty commit (should be backwards-compatible with \"b4 submit\")\n  - the non-invasive \"branch-description\" strategy that keeps the cover\n  letter in the branch.branchname.description configuration setting and\n  tracking in branch.branchname.b4-tracking\n  - the not-yet-implemented \"tag\" strategy that mimics the behaviour of\n  git-publish\n\n  The strategy can be set via b4.ez-cover-strategy variable, e.g. in\n  your .gitconfig:\n\n  [b4]\n    ez-cover-strategy \u003d branch-description\n\n  Note, that converting from one strategy to another doesn\u0027t work and\n  will probably explode in weird ways right now.\n\nSigned-off-by: Konstantin Ryabitsev \u003ckonstantin@linuxfoundation.org\u003e\n"
    }
  ],
  "next": "45aaaf33f00e3d05456394775802d7551b20757c"
}
