)]}'
{
  "commit": "46421766181f70426436a294cac752114b9bf80a",
  "tree": "da066c8620c31bd19ec1ce9047efa2ec9414301c",
  "parents": [
    "568652ebee7d96708d96b0d87a46bc79ff5e60bd"
  ],
  "author": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Tue Dec 07 09:14:32 2021 -0700"
  },
  "committer": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Wed Jan 12 18:54:34 2022 +0000"
  },
  "message": "Refresh TaskTree.Nodes when getting them\n\nWith the introduction of Change properties, Node attributes and their\nsubnodes may depend on the specific change properties they were created\nfor. In order to correct current over-caching behavior which results in\nerroneous Node contents when more than one change is evaluated, refresh\na Node\u0027s attributes that may be dependent on that change anytime the\nNode is returned by a parent Node. Throwing away subnodes from a Node\ncan be expensive since it results in all the Nodes\u0027 descendants also\nbeing discarded. To reduce this cost, this change reuses subnodes with\nthe same key after a refresh.\n\nAlso enhance the test framework to have a test suite which evaluates a\nsecond change\u0027s output to ensure that the output is updated\nappropriately beyond the first change.\n\nDespite much re-use, this change still results in an approximate 5x\nperformance degradation on our Gerrit 2.7 fork.\n\nChange-Id: Ib598b4c3a8e4fdbef0f41027cb1e6c7be5abe0d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d3e0751178f34364883be1bc6dedd87e3626cdb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java",
      "new_id": "9de77a412aca553f7b9112600b1f57d41d5cb246",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java"
    },
    {
      "type": "modify",
      "old_id": "ae639243520ecdfa411e32c2519bbaebde3d8f30",
      "old_mode": 33261,
      "old_path": "test/check_task_statuses.sh",
      "new_id": "527442d9e3ee91963f3bcc315675cb9a3e8943f7",
      "new_mode": 33261,
      "new_path": "test/check_task_statuses.sh"
    }
  ]
}
