)]}'
{
  "commit": "60a1ee966545192a6dffcd34ec6b6d5c7b41c11a",
  "tree": "68cda5d5e6e14da8e06747f203aee78320f1e310",
  "parents": [
    "2ce7767d3285c67a596f8e1673e7163e86ff2223"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Mar 16 07:04:15 2026 +0000"
  },
  "committer": {
    "name": "Chris Li",
    "email": "sparse@chrisli.org",
    "time": "Mon Mar 16 10:42:31 2026 -0700"
  },
  "message": "substitute(): convert switch() into cascade of ifs\n\nAgain, better code generation that way (and I\u0027d like to use likely()\nhere); it *is* in a very hot loop.\n\nReorder the TOKEN_... a bit (move TOKEN_UNTAINT up, so that it\u0027s less than\nTOKEN_MACRO_ARGUMENT) to get the default (and by far the most common case)\nvia single comparison.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Chris Li \u003csparse@chrisli.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "728feeb3662a8bc2f99074ffed7140c1a7e89f59",
      "old_mode": 33188,
      "old_path": "pre-process.c",
      "new_id": "ea199a9abec7487874acd2eef0c5c6a0a380ba08",
      "new_mode": 33188,
      "new_path": "pre-process.c"
    },
    {
      "type": "modify",
      "old_id": "3edf4ce12835389903ed1cef0388bf2b57d66516",
      "old_mode": 33188,
      "old_path": "token.h",
      "new_id": "5915d6a47881725f31fcb84164cd45b268dc28a2",
      "new_mode": 33188,
      "new_path": "token.h"
    }
  ]
}
