)]}'
{
  "commit": "8e03fb39e39811fed30b440536338338e70234c5",
  "tree": "d708f9a86f84f266f25b17c6bf94f2d6e2e20c1c",
  "parents": [
    "46421766181f70426436a294cac752114b9bf80a"
  ],
  "author": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Tue Nov 30 12:53:10 2021 -0700"
  },
  "committer": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Wed Jan 12 18:55:34 2022 +0000"
  },
  "message": "Use a lazy loading task property expansion model\n\nInstead of preloading all possible task properties up front, create a\nLoader class and only lazily load the referenced properties when they\nare used. This not only reduces the amount of loading needed, it also\nmakes it easy to detect which properties are actually referenced by a\ntask and its namesFactories. Enabling the detection enables further\noptimizations by potentially skipping more unneeded work. Loading\nproperties lazily also opens the door to exposing properties which are\nmore expensive to load without tasks incurring this expense unless they\nuse the expensive property.\n\nChange-Id: Ib28674660630113cb2970a232f73a8aa8b37a2e1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b6d86e10e8f8274dc68ba0e4342cd44506edc0b2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/Properties.java",
      "new_id": "322524476ff77a53ef9376fc35fe943116843f0e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/Properties.java"
    }
  ]
}
