)]}'
{
  "commit": "bf2fe903728a56755d045c768fc6cc0d46845cc5",
  "tree": "628370958badebfcaefda539aa0541b4f55d32fe",
  "parents": [
    "7bec39dc10e821571785e503a1c14f09db8004a9"
  ],
  "author": {
    "name": "Alex Turbov",
    "email": "i.zaufi@gmail.com",
    "time": "Mon Jul 26 21:45:03 2021 +0300"
  },
  "committer": {
    "name": "Alex Turbov",
    "email": "i.zaufi@gmail.com",
    "time": "Mon Jul 26 23:40:18 2021 +0300"
  },
  "message": "Refactor: Speedup predicates and binary operation\n\nBefore predicates and binary ops reducers use series of `if ()` blocks\nto match the keywords. However, if matched the currect `arg` get replaced\nwith evaluation result, so further `if (\u003cmatch-another-keyword\u003e)`\nis just wasting time/resources.\n\nThis patch introduce a chain of `if` → `else if` → ..., so after\nfirst match the loop restarts w/ the next argument.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9183a44e73b14a60a1e0c7b1259c603243e05f61",
      "old_mode": 33188,
      "old_path": "Source/cmConditionEvaluator.cxx",
      "new_id": "059378659f5e8ef3702a2dbadb48902d2fa12d6a",
      "new_mode": 33188,
      "new_path": "Source/cmConditionEvaluator.cxx"
    },
    {
      "type": "modify",
      "old_id": "af0dc5cb403bc4e7a6bebf7f88c58987904f2ad9",
      "old_mode": 33188,
      "old_path": "Source/cmConditionEvaluator.h",
      "new_id": "a7e3ce87ac8b153d8dc79036c590fcc4247a653e",
      "new_mode": 33188,
      "new_path": "Source/cmConditionEvaluator.h"
    }
  ]
}
