)]}'
{
  "log": [
    {
      "commit": "1d971ec23d423feba84f4719afc8323dbc607a4c",
      "tree": "1fc3ca6959b11cf755ece194744fd34fdfbeecf9",
      "parents": [
        "9e50a90bc9696488dd834463a66d946f74b95104"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Fri Nov 08 10:25:33 2024 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 08 19:41:09 2024 +0100"
      },
      "message": "pw-apply: remove mbox.o before mb2q normalization\n\nmb2q --mboxout, apparently, will append new contents to existing mbox.o\ninstead of overwriting the file. This leads to dangerous and confusing\nbehavior if there are local mbox.o leftovers.\n\nMake sure that old mbox.o is gone before we do normalization.\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "9e50a90bc9696488dd834463a66d946f74b95104",
      "tree": "a8a74c105cfacc970d5ae355bcce658fc443d3ae",
      "parents": [
        "f46be46d2b2ff4ea76e648dbb9a75f41b46c79d1"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 01 00:20:59 2024 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 01 00:34:56 2024 +0100"
      },
      "message": "pw: Add script for creating pull requests for Linus\n\nStill rough hack, needs further cleanups. Ideally could be consolidated\nwith the script we have for netdev.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "f46be46d2b2ff4ea76e648dbb9a75f41b46c79d1",
      "tree": "a0943913f2ed48f32dadfb5a8c9dbcb27001ebb5",
      "parents": [
        "0934f519533b99cf4bbf8524fab902f38819b380"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Jul 11 09:12:26 2024 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Jul 12 16:50:32 2024 +0200"
      },
      "message": "pw-check-override: add tool for creating patchwork checks\n\nWhen builder gets out of whack and fails builds for internal reasons\ncontest will stop ingesting those patches. Add a tool which can\noverride checks on a patch. Override really means add a new check,\npatchwork doesn\u0027t support delete or update of an existing check.\n\nThe tool also allows printing checks which may be convenient\n(when check to add is not specified):\n\n $ ./pw-check-override -p 13728978\n Patch 13728978:\n   Subject: [net,v2,2/5] octeontx2-af: fix a issue with cpt_lf_alloc mailbox\n   Checks:\n      0 2024-07-10 10:06 - success    series_format\n      1 2024-07-10 10:06 - success    tree_selection\n      2 2024-07-10 10:06 - success    ynl\n      3 2024-07-10 10:06 - success    fixes_present\n      4 2024-07-10 10:06 - success    header_inline\n      5 2024-07-10 10:06 - success    build_32bit\n      6 2024-07-10 10:06 - success    build_tools\n      7 2024-07-10 10:06 - success    cc_maintainers\n      8 2024-07-10 10:06 - success    build_clang\n      9 2024-07-10 10:06 - success    verify_signedoff\n     10 2024-07-10 10:06 - success    deprecated_api\n     11 2024-07-10 10:06 - success    check_selftest\n     12 2024-07-10 10:06 - success    verify_fixes\n     13 2024-07-10 10:06 - success    build_allmodconfig_warn\n     14 2024-07-10 10:06 - success    checkpatch\n     15 2024-07-10 10:06 - success    build_clang_rust\n     16 2024-07-10 10:06 - success    kdoc\n     17 2024-07-10 10:06 - success    source_inline\n     18 2024-07-10 11:02 - pending    contest\n     19 2024-07-10 12:36 - fail       contest\n     20 2024-07-10 12:44 - fail       contest\n     21 2024-07-10 13:08 - fail       contest\n     22 2024-07-10 16:07 - success    contest\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "0934f519533b99cf4bbf8524fab902f38819b380",
      "tree": "8e21ccd624732962a1d8606f54c243a6e877432f",
      "parents": [
        "5704fc22d0089516eb40dfd7cb398de0d4b9837e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Jun 20 08:35:16 2024 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Jun 20 23:09:36 2024 +0200"
      },
      "message": "pw-apply: Remove /r/ from lore links\n\nBased on recent updates from Kostantin the /r/ or /all/ in lore\nlinks are no longer necessary. Recommended link format is:\n\n  https://patch.msgid.link/email-message@id\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nLink: https://lore.kernel.org/20240618-docs-patch-msgid-link-v1-2-30555f3f5ad4@linuxfoundation.org/\n"
    },
    {
      "commit": "5704fc22d0089516eb40dfd7cb398de0d4b9837e",
      "tree": "d5827b211e4513ec4132de1183ae64f97df15f5e",
      "parents": [
        "950f706e31aa236c081a1e8bbb73a0ded170c3d8"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Dec 08 10:41:52 2023 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Dec 11 09:33:55 2023 +0100"
      },
      "message": "pw-apply: don\u0027t count weekend time in how long patch has been on the list\n\nWe recently started printing a warning when patches are applied\nbefore they spent 24h on the list. The motivation for that was\nto let reviewers from all time zones post their comments.\n\nTo further improve reviewers\u0027 (chances of) work-life balance\nexclude weekend time from the 24h limit, meaning that the\npatch has to spent 24h of work day time on the list. This\nis useful when patches are posted on the list over the weekend\nand even tho they may be 2 days old for someone in the eastern\n/ positive timezones the folks in western / negative timezones\nmost likely haven\u0027t seen them.\n\nThe \"summary\" line for a patch which timeline does not \"straddle\"\nweekend time remains unchanged:\n\n  By: Some Person  Age: 1d 11h  Tree: net-next  Version: 1  Patches: 2\n\nbut if weekend time was in the span (e.g. 10 hours) we\u0027ll see:\n\n  By: Some Person  Age: 1d 1h (+10h)  Tree: net-next  Version: 1  Patches: 2\n\nWe could say something like \"weekend\" next to the plus but its\na long word and my terminals are 80 chars :S\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "950f706e31aa236c081a1e8bbb73a0ded170c3d8",
      "tree": "4b25d4c4b3c57fdbab545fbed83ab2225a391eb6",
      "parents": [
        "4624214ab93829b9aa8d6cbac3de66488c22d324"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Sat Nov 18 17:17:03 2023 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 20 14:46:39 2023 +0100"
      },
      "message": "pw-apply: Fix timezone parsing in the new patch age warning\n\nPrevent re-splitting of strings. Otherwise when patchwork gives\nus \"2023-11-18T18:01:55 UTC\" we\u0027ll miss the timezone.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\n"
    },
    {
      "commit": "4624214ab93829b9aa8d6cbac3de66488c22d324",
      "tree": "6d43046cea641176b99fce1563b210df32c8b426",
      "parents": [
        "3059ca5715aae40bd83433e0645cd100cf0321b2"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu Nov 16 18:06:46 2023 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 17 03:46:57 2023 +0100"
      },
      "message": "pw-apply: Emit a warning when applying too fresh patches\n\nI tend to miss the fact that some series may be too fresh to be applied:\nlet me get more help from the tool.\n\nAdd mbox_from_series() the ability to warn if the series is not old\nas optionally specified, and set a default threshold of 24 hours for\n`pw-apply`.\n\nAdd a command line argument (--min-age/-m) to allow setting a different\nthreshold.\n\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "3059ca5715aae40bd83433e0645cd100cf0321b2",
      "tree": "78792afa9573c8dd94c230f134c39b27825c0200",
      "parents": [
        "7cec241aad7c3660d992b3dd540e13c4d142db50"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Jun 05 15:40:48 2023 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Jun 06 11:03:14 2023 +0200"
      },
      "message": "pw-apply: Support specifying application base\n\nFor cross-subsystem changes it\u0027s useful to use an upstream tag\nas base of applying patches:\n\n          merge commit\n         /         |\n       /           |\n  new patch 2      |\n       |           |\n  new patch 1      |\n       |           |\n       |       origin/main\n       |           |\n       |          ...\n       |           |\n       |       net merge\n       |         / |\n       |       /   |\n       |     /    ...\n       |   /\n     vX.Y-rcZ\n\nAdd an option (-u) for selecting base where patches are applied.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "7cec241aad7c3660d992b3dd540e13c4d142db50",
      "tree": "e7ff2706f9c87ae0b6479ec869d6a99ed13d8a27",
      "parents": [
        "2ae7bb1b1c03333794b0555fa281193712463615"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Apr 21 09:11:11 2023 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Apr 24 10:25:00 2023 +0200"
      },
      "message": "pw-apply: Unify the merge paths\n\nAuto-merge only works with -s today, while BPF folks seem\nto favor -c. Unify the two paths. Since both -c and -s\nauto-detect merges make merges the default and let user\nprevent merges instead. Or force a manual merge.\nBoth of those options will likely never be used anyway :)\n\nNote that use of auto-merge changes the format of merge\ncommits slightly. A Link is added at the end, but more\nnotably we use a real branch name, e.g.:\n\n Merge branch \u0027net-give-napi_threaded_poll-some-love\u0027\n\ninstead of the constructed message:\n\n Merge branch \u0027net: give napi_threaded_poll() some love\u0027\n\nthe subject now lands as the first line of the body:\n\n    Merge branch \u0027net-give-napi_threaded_poll-some-love\u0027\n\n    Eric Dumazet says:\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    net: give napi_threaded_poll() some love\n\n    There is interest to revert commit 4cd13c21b207...\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "2ae7bb1b1c03333794b0555fa281193712463615",
      "tree": "8612d7a523f38891927456d310f6280cb702bfa4",
      "parents": [
        "be2fda7a60f31f8244300775a2ae2d25e733ac6e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Apr 21 09:11:10 2023 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Apr 24 10:24:18 2023 +0200"
      },
      "message": "pw-pull: Propagate tags onto pull requests\n\nSome reviewers review pull requests and should be rewarded\nfor it. Since we can\u0027t change the commits try to at least\npropagate the tags sent in response to the PR or cover letter.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "be2fda7a60f31f8244300775a2ae2d25e733ac6e",
      "tree": "5b4532837731a6b644502d9a08fd3c84c3fac7aa",
      "parents": [
        "9bf25bbf6f75970b3d8c3d9468452d1221f4bb21"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Apr 21 09:11:09 2023 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Apr 24 10:23:12 2023 +0200"
      },
      "message": "pw-pull: Match on conflicts in more lines\n\nI\u0027m not sure what changed, maybe the new git version (2.38.1)\nbut the \"conflicts\" line is now 6th instead of 5th, so it\u0027s\nno longer caught. Give use more lines, we just want to avoid\nmatching on the entire output, because some files may be called\n\"conflicts\"...\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "9bf25bbf6f75970b3d8c3d9468452d1221f4bb21",
      "tree": "1920f599ff6758b152c62642e124041a66bbc14b",
      "parents": [
        "db5a4ec4c46a5311e7cdda4e7800f323d702bfa6"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Mar 09 11:02:27 2023 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Mar 09 11:04:18 2023 +0100"
      },
      "message": "pw-request-pull: Fix checking for gitolite url\n\nIt looks like this accidentally slipped in via fa0560f53216, therefore\njust undo it.\n\nFixes: fa0560f53216 (\"pw: Add Paolo to the pull-req template and email addresses\")\nReported-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "db5a4ec4c46a5311e7cdda4e7800f323d702bfa6",
      "tree": "b2ea9cfd836bdc104e2c449bb3d3d7247b4772da",
      "parents": [
        "3d9e7d0745110f9ad47d002877d7400501fd2ad0"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Wed Mar 08 14:34:34 2023 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Mar 09 11:00:25 2023 +0100"
      },
      "message": "pw-request-pull: Add note about GPG_TTY\u003d$(tty)\n\nAdd note about specifying GPG_TTY envvar to let gpg ask for password\nproperly. Without this pw-request-pull -S doesn\u0027t work, at least in some\nsetups.\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "3d9e7d0745110f9ad47d002877d7400501fd2ad0",
      "tree": "ce0e52203eba7e8835cfac9531a7cb5391b6d6df",
      "parents": [
        "f35fac17c339f15849b159478b06ce21ecabcf58"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Jan 27 23:49:40 2023 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jan 30 14:49:32 2023 +0100"
      },
      "message": "pw-apply: Add tags only if they start the line (not quotes)\n\nSome people quote tags in their replies and the script\nends up pulling the \u0027\u003e\u0027 prefixed result in.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "f35fac17c339f15849b159478b06ce21ecabcf58",
      "tree": "c24c9729eb31b3361e12c2eb8c9c53f0e1f6cb83",
      "parents": [
        "8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jan 23 15:46:34 2023 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jan 23 15:47:34 2023 +0100"
      },
      "message": "pw-schedule: Remove KP from review schedule\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11",
      "tree": "1e4ac4b20ef11b478be820e271d53ba8fb3b3379",
      "parents": [
        "7083f4de55045d0a96094b6ba59a8e6f162747e1"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Oct 24 15:26:17 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Oct 24 15:26:17 2022 +0200"
      },
      "message": "pw-request-pull: make signing 3 step process\n\nSee REAME wrt workflow.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "7083f4de55045d0a96094b6ba59a8e6f162747e1",
      "tree": "aca52acd7266923533d88bb59ccbfe49fe31cb54",
      "parents": [
        "65c1aedc0ccadcf76c5a3109950bbf468d1e2968"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 23:15:40 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 23:15:55 2022 +0200"
      },
      "message": "pw-request-pull: Add missing tag to blurb template\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "65c1aedc0ccadcf76c5a3109950bbf468d1e2968",
      "tree": "0546e1e5d36294f040e789ce1bc24ba5defb41c3",
      "parents": [
        "50d346b460e1dadd0c93c04b73db531c983416c0"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 23:12:28 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 23:12:28 2022 +0200"
      },
      "message": "pw, docs: Add Martin to send-email snippet\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "50d346b460e1dadd0c93c04b73db531c983416c0",
      "tree": "4b64040e8ba5b68cb4ff4ce1c6733cfb95d2de6a",
      "parents": [
        "ac51fc476675204eab7c0f8e40a1b9f1b5920eff"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 22:17:09 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 18 22:17:55 2022 +0200"
      },
      "message": "pw-request-pull: Fix tag commit description\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "ac51fc476675204eab7c0f8e40a1b9f1b5920eff",
      "tree": "a25478ea1f2b49da4bf5ca4a6d9e7eeb9acec00f",
      "parents": [
        "8f31c91ff04befe2a82e0e187130629a3b03a655"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Oct 07 23:57:33 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Oct 08 00:05:56 2022 +0200"
      },
      "message": "pw-request-pull: Signing support for PRs\n\nNow `pw-request-pull -t bpf-next -S` will create signed PRs.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "8f31c91ff04befe2a82e0e187130629a3b03a655",
      "tree": "4491c1a6912fc32b9fb0e7f1c52a3d17a2a26ad6",
      "parents": [
        "b53b30651fe0c9a2c80ee241b1c626f3205128bb"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Oct 07 23:46:14 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Oct 07 23:47:14 2022 +0200"
      },
      "message": "pw: Document tag signing process\n\nJust base workflow around signing \u0026 setup.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b53b30651fe0c9a2c80ee241b1c626f3205128bb",
      "tree": "cd26c0df496c6be97e4dc93cc6fb7d2827460c40",
      "parents": [
        "a2380560e0019805e9e0ea956e1914f30de9a044"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Jul 27 15:23:22 2022 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Jul 28 00:25:34 2022 +0200"
      },
      "message": "pw-apply/pw-pull: Don\u0027t hard code master\n\nUse the current branch name as the base, don\u0027t hard code \"master\".\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "a2380560e0019805e9e0ea956e1914f30de9a044",
      "tree": "30ae04d08b8cf9c4c65b1360aa4eb74bdf299dae",
      "parents": [
        "815ced40d5c611dabb2a0ff258f8357e8b38384c"
      ],
      "author": {
        "name": "Quentin Monnet",
        "email": "quentin@isovalent.com",
        "time": "Mon Jul 18 10:54:57 2022 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Jul 20 11:37:58 2022 +0200"
      },
      "message": "pw-schedule: Use \u003cyear-month-day\u003e format (ISO 8601) for dates\n\nFormat %m/%d/%Y is ambiguous, given that some parts of the world prefer\nto write the day first and the month second. This does not matter much\nfor the CSV that is to be fed to a caldendar tool, but it might still be\nconfusing for the help message of the tool, for example.\n\nUse something less ambiguous: ISO 8601 (%Y-%m-%d) is a good candidate.\n\nAlso tested that the Google calendar import works fine with this.\n\nSigned-off-by: Quentin Monnet \u003cquentin@isovalent.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "815ced40d5c611dabb2a0ff258f8357e8b38384c",
      "tree": "ef89a5d02f5194ec7aa4e4841602b5cd0f811f8a",
      "parents": [
        "e5f3693a567dbbdafb614f8254e225fbb50abced"
      ],
      "author": {
        "name": "Quentin Monnet",
        "email": "quentin@isovalent.com",
        "time": "Mon Jul 18 10:38:57 2022 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Jul 20 09:58:43 2022 +0200"
      },
      "message": "pw-schedule: Use locale-independent format for day of week\n\nThe test on the day of week uses \"Monday\" as a hardcoded value. Let\u0027s\nuse a numerical value instead to avoid breaking on systems where the\ndefault locale is not English-based.\n\nSigned-off-by: Quentin Monnet \u003cquentin@isovalent.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "e5f3693a567dbbdafb614f8254e225fbb50abced",
      "tree": "dedf42a3197982b9dd74004c3a3d813965984341",
      "parents": [
        "22adabe8483b4e8a164f56c9cd901ec354b376e6"
      ],
      "author": {
        "name": "Quentin Monnet",
        "email": "quentin@isovalent.com",
        "time": "Mon Jul 18 10:34:48 2022 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Jul 20 09:58:39 2022 +0200"
      },
      "message": "pw-schedule: Use locale-independent date format for days\n\nHaving en_GB.UTF-8 as the default locale on my system, pw-schedule fails\nto run with the following error:\n\n    $ ./pw-schedule\n    date: invalid date ‘Mon 18 Jul 10:11:30 BST 2022’\n\nApparently, \"date\" is not able to parse the date it generated in that\nlocale.\n\nTo fix this, use the same, locale-independent format for days\neverywhere: +%m/%d/%Y.\n\nSigned-off-by: Quentin Monnet \u003cquentin@isovalent.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "22adabe8483b4e8a164f56c9cd901ec354b376e6",
      "tree": "b2d1af3c308bcdbfad4f8c6dadf8cda0925db8ba",
      "parents": [
        "a248d38b57b8c2f223ed4db9253ad8450522bcee"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 23:41:40 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 23:49:57 2022 +0200"
      },
      "message": "pw-schedule: Add workflow documentation for BPF\n\nExtend the README with workflow example for BPF subsystem.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "a248d38b57b8c2f223ed4db9253ad8450522bcee",
      "tree": "b10f0c984581f5a46727e6b319bf7e2bf619c816",
      "parents": [
        "958ca3c1b471aab95e32c1e095d836206e845aa1"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 23:05:27 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 23:19:36 2022 +0200"
      },
      "message": "pw-schedule: Add review rotation tool for BPF\n\nUsage is just to execute `pw-schedule` which then dumps a `schedule.csv`\nfile that can be imported into Google calendar and elsewhere.\n\nExample to generate schedule for 11 weeks starting from today:\n\n  [foo@linux pw]$ ./pw-schedule -n 11\n  [foo@linux pw]$ cat schedule.csv\n  Subject,Start Date,End Date\n  BPF Reviewer: John,06/27/2022,06/30/2022\n  BPF Reviewer: Hao,06/30/2022,07/02/2022\n  BPF Reviewer: Alexei,07/04/2022,07/07/2022\n  BPF Reviewer: Song,07/07/2022,07/09/2022\n  BPF Reviewer: KP,07/11/2022,07/14/2022\n  BPF Reviewer: Yonghong,07/14/2022,07/16/2022\n  BPF Reviewer: Andrii,07/18/2022,07/21/2022\n  BPF Reviewer: Jiri,07/21/2022,07/23/2022\n  BPF Reviewer: Martin,07/25/2022,07/28/2022\n  BPF Reviewer: Stanislav,07/28/2022,07/30/2022\n  BPF Reviewer: Daniel,08/01/2022,08/04/2022\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "958ca3c1b471aab95e32c1e095d836206e845aa1",
      "tree": "4fed3fcbad6f989612708e34fbb53ed3d3de0c57",
      "parents": [
        "b7b90ddea0a9df8d9c322538bb028abf1efd306b"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Jun 24 11:39:04 2022 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 21:13:44 2022 +0200"
      },
      "message": "pw-apply: Trim hyphens\n\nLooks like I hit the same issue as Paolo but he was more diligent\nsending his solution upstream. I like mine more :)\n\nInstead of having two magic ifs trim the leading and trailing\nhyphens with sed.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b7b90ddea0a9df8d9c322538bb028abf1efd306b",
      "tree": "f595c0395d8f57ae200123197322d384a68ea098",
      "parents": [
        "336fff47c3d1775eed52e2ad1dc6e318eec92d69"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Jun 24 11:39:03 2022 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 21:13:40 2022 +0200"
      },
      "message": "pw-apply: Propagate Tested-by tags\n\nPropagate Tested-by tags from cover letter replies to each\nindividual email.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "336fff47c3d1775eed52e2ad1dc6e318eec92d69",
      "tree": "42f9c1300738e3a948751d0fa993a69d7f0cdad9",
      "parents": [
        "eb7118d83bbfb284704eb632aa35d7492d74c01b"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Jun 24 11:39:02 2022 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Jun 27 21:13:34 2022 +0200"
      },
      "message": "pw-pull: Wait for conflict resolution\n\nScripts can\u0027t \"continue\" after a merge fails, which results\nin extra manual labor performing the steps script would have\nperformed. Plus I get used to the scripts, so each time I\nhave to go back and check what the script would have done.\n\nInstead of failing pause the script until conflict is resolved.\nThe expectation is that maintainer will open a second terminal,\nresolve the script and commit the merge.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "eb7118d83bbfb284704eb632aa35d7492d74c01b",
      "tree": "2f8d47d3c7cd8a80a7228c421425809a91342ea1",
      "parents": [
        "5fe72bdac5344c1116b81d6e0f21b6d1cbeb0092"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Thu May 12 13:10:49 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu May 12 16:34:16 2022 +0200"
      },
      "message": "pw-apply: Trim leading dash from branch name\n\nOtherwise git commands will fail badly, when the branch name matches\nsuch pattern, e.g.:\n\n  https://patchwork.kernel.org/user/todo/netdevbpf/?series\u003d640543\n\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "5fe72bdac5344c1116b81d6e0f21b6d1cbeb0092",
      "tree": "3b12e5405c5b6dff1540c66c60ff5a20690b39e1",
      "parents": [
        "fa0560f53216bc4392d71412556a66318fb81f6f"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Apr 27 23:05:03 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Apr 27 23:05:19 2022 +0200"
      },
      "message": "pw: Add Eric to the pull-req template and email addresses\n\nGiven also Eric recently became co-maintainer for netdev, lets add him\nto the PR template letter as well.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "fa0560f53216bc4392d71412556a66318fb81f6f",
      "tree": "7af10d2e03b939db2b99184c8ba35fb3366cdb18",
      "parents": [
        "4bd16e509f51706a40790f77f4eeedacaf3330d3"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Apr 09 01:22:17 2022 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Apr 09 01:22:17 2022 +0200"
      },
      "message": "pw: Add Paolo to the pull-req template and email addresses\n\nGiven Paolo recently became co-maintainer for netdev, lets also add him\nto the PR template letter.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "4bd16e509f51706a40790f77f4eeedacaf3330d3",
      "tree": "23ebf5c2cc996380371f7f8dfe6af9e543cc4905",
      "parents": [
        "c082eebb15b26f9c4de162c65d02184fb95e268b"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Feb 18 17:12:33 2022 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Feb 18 17:12:33 2022 +0100"
      },
      "message": "pw: Add Andrii to git-send-email line\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "c082eebb15b26f9c4de162c65d02184fb95e268b",
      "tree": "854504becfb8b9e0a5639c8f31734ea38344289f",
      "parents": [
        "2be4f6f75ada67d5043a52ae8042f08424feeb25"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Feb 17 14:36:49 2022 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Feb 18 17:09:15 2022 +0100"
      },
      "message": "pw-pull: Allow pulling from a URL\n\nDon\u0027t require pw or cover letter links.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "2be4f6f75ada67d5043a52ae8042f08424feeb25",
      "tree": "09c22caedf06858bed714c84f6ac90c437e7203d",
      "parents": [
        "d6afac3da2792b7ec7ff210ca21821c6f3129879"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu Feb 17 14:36:48 2022 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Feb 18 17:09:15 2022 +0100"
      },
      "message": "pw-apply: Adjust author search to ignore quotation marks\n\nIgnore \u0027 and \" in From when extracting author for the merge message.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "d6afac3da2792b7ec7ff210ca21821c6f3129879",
      "tree": "ecb6c37bbc3e337766e270d8b761ef6a832bd0ed",
      "parents": [
        "ce139f9887e5f5403cf2ff367722ac12aa050fea"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Wed Feb 16 11:22:25 2022 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 16 20:53:40 2022 +0100"
      },
      "message": "pw-apply: Fix two issues with author name parsing\n\nFix few issues with how we extract author name.\n\n1. Handling full name properly regardless whether it consists of two\n   space-separated words or more (e.g., currently for \"Kumar Kartikeya\n   Dwivedi\" we\u0027d extract only \"Kumar Kartikeya\").\n\n2. Fix extracting *only* author name and not their email regardless if\n   X-Patchwork-Submitter: tag is single-lined or wrapped. Normally it\n   would be wrapped for base64-encoded variants so email would end up on\n   second line and we\u0027d never extract it. Which is good because base64\n   regexes assume only name and no emails. But in some cases, especially\n   with quote-printable encoding, like this one:\n\n   X-Patchwork-Submitter: \u003d?utf-8?q?Mauricio_V\u003dC3\u003dA1squez?\u003d \u003cmauricio@kinvolk.io\u003e\n\n   we\u0027ll capture email as part of author name, which is wrong.\n\nBoth these problems are fixed now with more elaborate combination of\ncutting by spaces and \u003c, and then trimming trailing whitespaces with\nawk.\n\nThen also add support for quote-printable encoding which starts with\n\u003d?utf-8?q? prefix (as opposed to \u003d?utf-8?b? for base64-encoding). Use\nperl single-liner to decode (haven\u0027t found other way, qprint cli tool\nisn\u0027t installed everywhere).\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "ce139f9887e5f5403cf2ff367722ac12aa050fea",
      "tree": "8d6737355c5375d789d495dae62e3e985bbfba2a",
      "parents": [
        "1867a92570347493d96a1169d38b4cca90ff2d12"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Tue Sep 14 21:14:13 2021 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Sep 15 10:38:47 2021 +0200"
      },
      "message": "pw-apply: Use awk for multi-line subject line extraction\n\nInstead of using experimental `grep -P` which doesn\u0027t work in some\ndistros, do it with line-by-line AWK script which collects all line\nbeginning with the line that starts with \"Subject: \" and ending before\nhitting the line starting with another \"\u003ckeyword\u003e: \". This works for\nsingle-line and multi-line subjects.\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "1867a92570347493d96a1169d38b4cca90ff2d12",
      "tree": "54ef97ecece0133a9a0b811e14c5ec1a0f175084",
      "parents": [
        "7df42757ec4250e0f53fc0521b9ebc5a197f315c"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Tue Mar 09 00:01:31 2021 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Mar 09 00:02:14 2021 +0100"
      },
      "message": "pw-apply: Add support for wrapped multi-line series subjects\n\nExtract potentially wrapped series subject line to use as the branch name.\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "7df42757ec4250e0f53fc0521b9ebc5a197f315c",
      "tree": "cbd404921fdf87e6de3d63adb573ae291c86cb0c",
      "parents": [
        "3d1307a5c8b093623fcacabc1f08cd3209cb8ce8"
      ],
      "author": {
        "name": "Andrii Nakryiko",
        "email": "andrii@kernel.org",
        "time": "Mon Mar 08 19:38:07 2021 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Mar 08 19:39:09 2021 +0100"
      },
      "message": "pw-apply: Handle UTF-8 author names\n\nDetect and decode UTF-8 author names for cover letters.\n\nSigned-off-by: Andrii Nakryiko \u003candrii@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "3d1307a5c8b093623fcacabc1f08cd3209cb8ce8",
      "tree": "49f0dd3fb5a30e07476109a488221c3363cbba8e",
      "parents": [
        "0c362f8ab3ebe3c4350f96bab2c68c7d93ffa7c6"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Feb 24 10:05:12 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 19:06:01 2021 +0100"
      },
      "message": "pw-apply: avoid spurious error exit codes\n\nWhen no cover tags were set clear_cover_tags will return with\n$? set to non-0. Avoid such issues by explicitly returning 0\nat the end of the script.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "0c362f8ab3ebe3c4350f96bab2c68c7d93ffa7c6",
      "tree": "0a58888568a19598f90386ad8620283e979d85e7",
      "parents": [
        "d86efe83aa64efb8ef0aa08bbf33dd1bdd82df99"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:15 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:30 2021 +0100"
      },
      "message": "README: add info about my applypatch-msg hook\n\nMaybe some will find this useful, add my bash script which does\nsome of the things mb2q would otherwise do.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "d86efe83aa64efb8ef0aa08bbf33dd1bdd82df99",
      "tree": "1c5348db593e8a17bac88d3222f3f596daeb40e0",
      "parents": [
        "69867baf9da11fece0a6b3568fb626214a95634c"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:14 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:29 2021 +0100"
      },
      "message": "pw-apply: export ADD_TAGS based on replies to cover letter\n\nPatchwork does not automatically propagate tags from cover letter.\nWith a few simple REST calls we can get all the comments and grep\nthem for tags.\n\nWe export those tags to a env var called ADD_TAGS.\n\nUser is expected to add to their applypatch-msg hook something like:\n\n    while IFS\u003d read -r tag; do\n\techo -e Adding tag: \u0027\\e[35m\u0027$tag\u0027\\e[0m\u0027\n\tgit interpret-trailers --in-place \\\n\t    --if-exists\u003daddIfDifferent \\\n\t    --trailer \"$tag\" \\\n\t    \"$1\"\n    done \u003c\u003c\u003c \"$ADD_TAGS\"\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "69867baf9da11fece0a6b3568fb626214a95634c",
      "tree": "9cff81157ea17cbc9d528c7ad85565690bf78425",
      "parents": [
        "4add6b3bdefac21dc523071c5d3520823fb4fdab"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:13 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:28 2021 +0100"
      },
      "message": "pw-pull: add more message separators\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "4add6b3bdefac21dc523071c5d3520823fb4fdab",
      "tree": "0f5112ade0fd4e8a30570b436db6e4d10e0e1514",
      "parents": [
        "f5ec1cf60d1ead41212f90055eb45b86784d2ec8"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:12 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:25 2021 +0100"
      },
      "message": "lib: add warning when prefix doesn\u0027t match tree\n\nSometimes one lacks sleep and accidentally applies a patch\nto the wrong tree. In case such hypothetical person names\ntheir directories by the tree name (git\u0027s default when cloning)\nwe can try to help out and match the tree name to current dir.\n\nPrint a red warning when current directory is a well known tree\nname, and the patch has been tagged with a well known tree name\nbut they don\u0027t match. Recognize net and bpf with an optional\n\"-next\" suffix.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "f5ec1cf60d1ead41212f90055eb45b86784d2ec8",
      "tree": "b5b2dd7e27bb0267bd2b360473538c14bb029c61",
      "parents": [
        "23987aa7b04b227d45191284cdad1cd9f4428c33"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:11 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:24 2021 +0100"
      },
      "message": "pw-pull: use three-way merge for git-am\n\nWhen test-applying a series to see if the contents of the patches\non the mailing list match the PR we can allow -3, this avoids\nseries application failing while the PR pulls cleanly.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "23987aa7b04b227d45191284cdad1cd9f4428c33",
      "tree": "d9304409499064b605f59db46eaf73f3c498aa81",
      "parents": [
        "d2e02c2c8701f3ccc567c3b97fb0cb311b58fb33"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:10 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:23 2021 +0100"
      },
      "message": "pw-pull: tweak end of message\n\nAnother PR from the BPF tree, another tweak :)\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "d2e02c2c8701f3ccc567c3b97fb0cb311b58fb33",
      "tree": "4b4104f9f457bf218d53b35073ec9a280a4177b9",
      "parents": [
        "0633ac5d5369580c6d9c366aa70fbfd0c61f42a7"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:09 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:21 2021 +0100"
      },
      "message": "pw-pull: allow setting pull URL explicitly\n\nFor cases where patchwork got completely confused allow\nspecifying pull URL on the command line.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "0633ac5d5369580c6d9c366aa70fbfd0c61f42a7",
      "tree": "17a9f10edb024f02c24844b542f428f1ab980d11",
      "parents": [
        "bcf7bb94433c195c6fffa4f388ce963edcb8119e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:08 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:55:19 2021 +0100"
      },
      "message": "pw: add big fat warning when applying incomplete series\n\nSometimes patchwork doesn\u0027t recognize all patches in a series\nbut they still apply and work. Warn about incomplete series.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "bcf7bb94433c195c6fffa4f388ce963edcb8119e",
      "tree": "a9c5a278e5645869fae7f2d3b0865a55168aed29",
      "parents": [
        "478f91d41957d7701aa2e58aefef23efccf0aae3"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:07 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:53:47 2021 +0100"
      },
      "message": "pw-pull: learn to do pulls from cover letter\n\nLooks like patchwork is pretty bad at detecting pull requests\nwhich don\u0027t fully follow the standard format. Learn to get\nthe info out of the cover letter ourselves.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "478f91d41957d7701aa2e58aefef23efccf0aae3",
      "tree": "7e2cb2adbaf5535c63e4656e865c7ceeb98bbbce",
      "parents": [
        "1dc5f66fdf3fe85eae2cc036b650a328160fc21f"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Mon Feb 08 18:42:06 2021 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Feb 24 17:53:30 2021 +0100"
      },
      "message": "pw-apply: allow dashes in the name\n\nAdd \u0027-\u0027 as an allowed character to the author\u0027s name regex.\nE.g. \"Po-Hsu Lin\".\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "1dc5f66fdf3fe85eae2cc036b650a328160fc21f",
      "tree": "28b1a1a457bd403308dfc0014cd6d906f1423be8",
      "parents": [
        "2283c083e2e2f0c24fb272cb0d9e9047cd359b50"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Sun Nov 15 00:38:35 2020 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sun Nov 15 00:39:10 2020 +0100"
      },
      "message": "pw: use https instead of git.\n\nhttps is more likely to go through corp firewalls without extra\ngit configs.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "2283c083e2e2f0c24fb272cb0d9e9047cd359b50",
      "tree": "9dde74f0ffba144c219552d2d166e1370deaeeb5",
      "parents": [
        "0869bca20d602c2ce95c7dccd70588cfb7f9f414"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Nov 11 18:06:18 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 13 17:50:47 2020 +0100"
      },
      "message": "pw: avoid double slash in URIs\n\nkernel.org\u0027s patchwork is sensitive to double slashes.\nWhile ozlabs would happily respond to:\n\nhttps://patchwork.ozlabs.org/api/1.1//series/$id\n\nkernel.org will return a 404 unless we remove the double\nslash after the API version.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "0869bca20d602c2ce95c7dccd70588cfb7f9f414",
      "tree": "0743c4fd5544415eb4e98a484c10f7650fdb8dfc",
      "parents": [
        "9b46f58c0a59265e9f2204670f7c52ebdd5149ab"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Nov 11 15:22:05 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 13 17:48:54 2020 +0100"
      },
      "message": "pw: move mbox_from_series to lib and reuse in pw-pull\n\npw-pull needs fetching series, too. Make the helper common.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "9b46f58c0a59265e9f2204670f7c52ebdd5149ab",
      "tree": "9645c198d796b7302ca18b142243e9365be2dd69",
      "parents": [
        "99babde7dab06d67e8c64d882f63c07c2cc5143a"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Nov 11 15:22:04 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 13 17:48:40 2020 +0100"
      },
      "message": "pw-pull: cut off at \u0027Please consider\u0027\n\nAlexei sent a PR without the --- delimiter, handle that better.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "99babde7dab06d67e8c64d882f63c07c2cc5143a",
      "tree": "5c39a63484286d5e4f700008c4cb400726944df8",
      "parents": [
        "7d4c8853661a71e8fcc3205a009335bc0c0bf41e"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Nov 11 15:22:03 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 13 17:48:22 2020 +0100"
      },
      "message": "pw-apply: don\u0027t use git-pw\n\nThere are multiple reasons to steer clear of git pw:\n\n1. The fewer external dependencies the better (although we\n   still need to replace the git pw use in -a to get rid\n   of the dependency completely).\n2. Speed - git-pw takes 1.8s per request, we do a show and\n   a download. curl requests take 1s to complete, moreover\n   for auto-merge we need to download series json anyway.\n   All in all with auto-merge we save 2.6s.\n3. Output format of show is cluttered and useless IMHO, we\n   can do better.\n\nExample output, before:\n\nProperty    Value\n----------  --------------------------------------------------------------------------\nID          212566\nDate        2020-11-06T03:52:08\nName        [v4,net-next,1/3] ptp: idt82p33: add adjphase support\nURL         https://patchwork.ozlabs.org/project/netdev/list/?series\u003d212566\nSubmitter   Min Li (min.li.xe@renesas.com)\nProject     Linux network development\nVersion     4\nReceived    3 of 3\nComplete    True\nCover\nPatches     1395475 [v4,net-next,1/3] ptp: idt82p33: add adjphase support\n            1395450 [v4,net-next,2/3] ptp: idt82p33: use i2c_master_send for bus write\n            1395474 [v4,net-next,3/3] ptp: idt82p33: optimize _idt82p33_adjfine\n\nAfter:\n\nBy: Min Li  Age: 1d 17h  Tree: net-next  Version: 4  Patches: 3\n-----\n  ptp: idt82p33: add adjphase support\n  ptp: idt82p33: use i2c_master_send for bus write\n  ptp: idt82p33: optimize _idt82p33_adjfine\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "7d4c8853661a71e8fcc3205a009335bc0c0bf41e",
      "tree": "b5813673dd10dae19b611be556949a8d06e707bb",
      "parents": [
        "e3b0c435d06c8a245c34a8c316374da1da38e52f"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Wed Nov 11 17:02:22 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Nov 13 17:46:24 2020 +0100"
      },
      "message": "pw-apply: fix infinite loop on passing -3\n\nLooks like shift got lost in refactoring.\n\nFixes: 8d9dfabbb27f (\"pw-apply: make 3 way merge optional for git-am\")\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "e3b0c435d06c8a245c34a8c316374da1da38e52f",
      "tree": "66bbc56c2f0abe11d7378aae61fc8b7f8cfe0abd",
      "parents": [
        "e3baa29c61790ed5499258ef5e6fa774955424f6"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Tue Nov 10 00:23:08 2020 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Nov 10 01:13:38 2020 +0100"
      },
      "message": "pw-apply: fix fetching cover letter from kernel.org\u0027s patchwork\n\nFix detection of cover letter on kernel.org\u0027s patchwork instance\nas pw html emission changed slighly after update.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "e3baa29c61790ed5499258ef5e6fa774955424f6",
      "tree": "36f62933f04d46a02d1df8d2acf376df76586876",
      "parents": [
        "84e208c4980869d518181663a13398a99e2a4910"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Nov 10 01:08:42 2020 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Nov 10 01:11:13 2020 +0100"
      },
      "message": "pw-apply: fix double SoB issue under -b/-c\n\nOnly append the -s parameter when we do not normalize via mb2q as\notherwise there\u0027ll be maintainer\u0027s SoB twice.\n\nFixes: 8d9dfabbb27f (\"pw-apply: make 3 way merge optional for git-am\")\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "84e208c4980869d518181663a13398a99e2a4910",
      "tree": "aa44dfd4dca949d4af644547167105c157472d39",
      "parents": [
        "c8413ea1f949af1ffcc0989ab33b385e7c1e9e60"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:51 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:08:37 2020 +0100"
      },
      "message": "README: add Jakub\u0027s workflow\n\nDaniel suggests I should add my workflow to the examples\nso that we can cross-test we\u0027re not breaking each other\u0027s\nflows.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "c8413ea1f949af1ffcc0989ab33b385e7c1e9e60",
      "tree": "c033a9560a3b50eff177301e3e470e907a5e9140",
      "parents": [
        "49d46025063b272e75bbd6b4c1f45773123dad69"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:50 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:07:29 2020 +0100"
      },
      "message": "pw-apply: add auto-merge logic\n\nQuery patchwork to see if there is a cover letter, if yes\nenable the merge mode and determine the branch name and\nmerge message automatically.\n\nIf there is no cover letter merge commits one by one with\nno merge.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "49d46025063b272e75bbd6b4c1f45773123dad69",
      "tree": "528a288255d1bfc0866bcc544a3ee682fd99fcf8",
      "parents": [
        "c1040237c3f55588988bac944244f9cf310e9a86"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:49 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:06:56 2020 +0100"
      },
      "message": "pw-apply: add option to launch edits\n\nRunning git commit --amend after merge is pretty common, so add\nan option to just do it instead of hinting at it in a message.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "c1040237c3f55588988bac944244f9cf310e9a86",
      "tree": "ede2d2c2b0cfc54fd146bacaafc8c99ff686f154",
      "parents": [
        "8d9dfabbb27f7c98758852f4e9399b541cf9370c"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:48 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:06:45 2020 +0100"
      },
      "message": "pw-apply: make mb2q optional\n\nI don\u0027t like how mb2q reshuffles tags so allow opt out.\n\nTo still get lore links use the method described in kernel\u0027s\nDocumentation/ - ask git am to preserve message id, and have\na git hook rewrite them into links.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "8d9dfabbb27f7c98758852f4e9399b541cf9370c",
      "tree": "c588dddc57efffe728fc2d271d40b6bf9838b154",
      "parents": [
        "20f312a6a8597b1c02a5d99caac023fb34225479"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:47 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:04:25 2020 +0100"
      },
      "message": "pw-apply: make 3 way merge optional for git-am\n\nIf there are patch conflicts some maintainers prefer to get the author\nto resend, or at least manually inspect the patch, so don\u0027t pass -3\nas default - make it an option.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "20f312a6a8597b1c02a5d99caac023fb34225479",
      "tree": "03e5202bef22412dfa76a0982d0b3b7e1699acab",
      "parents": [
        "93f47736bc5ff29a31ce362e35917804f415bd69"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:46 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:03:30 2020 +0100"
      },
      "message": "pw-pull: create new command for pulling\n\nCreate a new command which does pulling from PRs recorded in\npatchwork. It will fill in the merge message and optionally\ncheck the code posted to the mailing list is identical to the\ncontents of the PR.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "93f47736bc5ff29a31ce362e35917804f415bd69",
      "tree": "14dbc5694240d8bf9833a274ea30448d475ce9dd",
      "parents": [
        "c05013d15f20ce44e98ddf8b2cba0762c731c6c7"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Fri Nov 06 09:31:45 2020 -0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Nov 09 22:02:31 2020 +0100"
      },
      "message": "pw-pull: rename to pw-request-pull\n\nFollow git command names and make space for a pw-pull command\nwhich would do pulling, rather than generate a PR.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "c05013d15f20ce44e98ddf8b2cba0762c731c6c7",
      "tree": "8ba1e56ec1e819239a00f8dd7412569c1eb8c64e",
      "parents": [
        "88c42335247f713c13a0fceb97f6f49fc03c7013"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Oct 21 00:52:18 2020 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Oct 21 00:53:23 2020 +0200"
      },
      "message": "pw: teach pw-apply to grab the cover letter and the series\n\nWorkflow steps:\n\n  - Click on any patch in patchwork.kernel.org (doesn\u0027t need to be the link to series)\n  - Copy top url that returns html (not mbox one)\n  - pw-apply -c url\n\nIt will fetch the html and find links in there to cover letter and full series.\nIf there is a cover it will automatically create a merge commit with that cover.\nIf there is no cover it will apply the whole series.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "88c42335247f713c13a0fceb97f6f49fc03c7013",
      "tree": "f5b0e3a066bcaa3dfa950fcdbe9217d4666271d2",
      "parents": [
        "b61c05c820eb4f2b5b55d7a0f60b895e53d9b861"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Oct 21 00:40:55 2020 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Oct 21 00:48:04 2020 +0200"
      },
      "message": "pw: slighly tweak pull req template in pw-pull\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b61c05c820eb4f2b5b55d7a0f60b895e53d9b861",
      "tree": "3060813ff1b03b5f4051e6a0c7d6e03cb1b26195",
      "parents": [
        "ee413de87d27b7661b45e7dfef6062042c8688e2"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Mar 14 00:41:26 2020 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Mar 14 00:42:23 2020 +0100"
      },
      "message": "pw: update Jakub\u0027s email address in readme\n\nNot at Netronome anymore, so lets not copy/paste this old email\naddress for PRs.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "ee413de87d27b7661b45e7dfef6062042c8688e2",
      "tree": "cfb9b9453921fae1402d6e0bff971e1e33f27d8a",
      "parents": [
        "e076293ce60aeb2380277a5586edee5ee1a8b950"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Oct 28 10:11:22 2019 +0100"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Oct 28 10:14:05 2019 +0100"
      },
      "message": "pw: reuse change summary from request-pull output in pw-pull\n\nDon\u0027t bother to put more work than needed since we already have the\nstats in the request-pull dump, so just take it from there.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "e076293ce60aeb2380277a5586edee5ee1a8b950",
      "tree": "f2d463c6ee2f481fee33cb74bbdc52730f2b56f1",
      "parents": [
        "fdf5eb450f8203fc80a167ba7417e82b01f94ada"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sat Oct 26 23:32:09 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Sun Oct 27 00:40:42 2019 +0200"
      },
      "message": "pw: include reporters, reviewer and tester thank note in pw-pull\n\nWe do already mention authors under main changes (full name), so\nadd reporters, reviewers and testers at the end.\n\nExample output in action:\n\nhttps://lore.kernel.org/bpf/20191026224006.18149-1-daniel@iogearbox.net/\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "fdf5eb450f8203fc80a167ba7417e82b01f94ada",
      "tree": "20dade2351ff155164bc47606dfd5f274868c8a9",
      "parents": [
        "6e3d70047978e020d48ef8850135ae3a3d1122f8"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Oct 17 01:22:49 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Oct 17 01:22:49 2019 +0200"
      },
      "message": "pw: auto-derive the merge base in pw-pull if -s not specified\n\nAdd similar logic which we had in our old, non-public pw-pull script.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "6e3d70047978e020d48ef8850135ae3a3d1122f8",
      "tree": "f57043eae9d068d325d718642278f889e3472aa6",
      "parents": [
        "3e610859cfe0dc5ae1a640db2c4333c8f01d4d65"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Oct 16 22:20:41 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Wed Oct 16 22:20:41 2019 +0200"
      },
      "message": "pw: improve pw-pull pull request template message\n\nExample output:\n\n---\nSubject: pull-request: bpf-next 2019-10-16\n\nHi David,\n\nThe following pull-request contains BPF updates for your *net-next* tree.\n\nWe\u0027ve added 10 non-merge commits during the last 1 day(s) which contain\na total of 23 files changed, 413 insertions(+), 90 deletions(-).\n\nThe main changes are:\n\n1) ..., from XYZ. Among others:\n\n    - Blah blah sub item.\n\n2) ..., from ABC.\n\nPlease consider pulling these changes from:\n\n  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git\n\nThanks a lot!\n\nContributors in this PR are:\n\nAndrii Nakryiko, Jakub Sitnicki, Jiri Pirko, Song Liu, Stanislav Fomichev\n\nThanks everyone!\n---\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "3e610859cfe0dc5ae1a640db2c4333c8f01d4d65",
      "tree": "0be2ec4a14aed778239756d51ea7e4d04b8da926",
      "parents": [
        "fab270a935300dab8e007e9bedbd4ca0b2b099e1"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Oct 11 23:36:40 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Oct 11 23:37:38 2019 +0200"
      },
      "message": "pw: add todo doc with future improvements to the pw-* scripts\n\nLets keep track of them here.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "fab270a935300dab8e007e9bedbd4ca0b2b099e1",
      "tree": "250c164a2ef898cea3bb3ea2691ab01bfbe9a80b",
      "parents": [
        "b8beaed7378561e39896327cf266b8816086ae38"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 08 23:07:43 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 08 23:13:43 2019 +0200"
      },
      "message": "pw: add option for pw-apply to create explicit merge commit\n\nIn some cases where the cover letters are valuable to have in the git\nlog, add a -m option to pw-apply.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b8beaed7378561e39896327cf266b8816086ae38",
      "tree": "5df86a5539c3282ab972c76cc112cd37cee863ea",
      "parents": [
        "904fe23577194c87a18847a110c16bf5464f1761"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 08 22:55:09 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Tue Oct 08 22:55:09 2019 +0200"
      },
      "message": "pw: rename pw-apply mbox option from -m into -b\n\nGiven this is rather a fallback option and seldomly used by us, lets\nrename -m into -b as we would like to repurpose -m for denoting an\nexplicit merge commit in pw-apply.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "904fe23577194c87a18847a110c16bf5464f1761",
      "tree": "d755bad4ec18528b7c80eb875ad7769870f4ed48",
      "parents": [
        "2f1dd11d0268cbd32a0b90637bf528e96c77fb1f"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Oct 03 21:49:59 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Oct 03 21:50:21 2019 +0200"
      },
      "message": "pw: improve readme and add note on git-pw version\n\nOlder git-pw versions have some mbox decoding issues which I ran into,\nbut this got fixed in a more recent version, therefore add a note to\nthe README:\n\n  $ git pw series download 133745 mbox.i\n  Server version missing\n  You should provide the server version in the URL configured via git-config or --server\n  This will be required in git-pw 2.0\n  Traceback (most recent call last):\n  File \"/usr/bin/git-pw\", line 10, in \u003cmodule\u003e\n    sys.exit(cli())\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 764, in __call__\n    return self.main(*args, **kwargs)\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 717, in main\n    rv \u003d self.invoke(ctx)\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 1137, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 1137, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 956, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File \"/usr/lib64/python2.7/site-packages/click/core.py\", line 555, in invoke\n    return callback(*args, **kwargs)\n  File \"/usr/lib/python2.7/site-packages/git_pw/series.py\", line 55, in download_cmd\n    output.write(api.get(series[\u0027mbox\u0027]).text)\n  UnicodeEncodeError: \u0027ascii\u0027 codec can\u0027t encode characters in position 4418-4420: ordinal not in range(128)\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "2f1dd11d0268cbd32a0b90637bf528e96c77fb1f",
      "tree": "7bc4475400660e716d5de6c12e5647e3a044341d",
      "parents": [],
      "author": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Thu Sep 26 13:47:10 2019 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Sep 27 15:22:43 2019 +0200"
      },
      "message": "pw: initial import of pw tools\n\nThere it is. See README for more details and setup.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    }
  ]
}
