)]}'
{
  "commit": "fffc220523381c73456cb0fdb6f6c8c61b9ea439",
  "tree": "6b68e2a810391b3bdb72d42b9f00d7af399c994f",
  "parents": [
    "c436f5104454614725aade834c6cb6e1e14a9480"
  ],
  "author": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Thu Nov 18 22:00:18 2021 -0700"
  },
  "committer": {
    "name": "Martin Fick",
    "email": "mfick@codeaurora.org",
    "time": "Tue Jan 11 19:01:40 2022 +0000"
  },
  "message": "Only copy task NamesFactories when modified\n\nUse a COW model for NamesFactories as an optimization, and to pave the\nway for many other optimizations. Although currently copying\nNamesFactory does not have a measurable impact on the performance of\ntasks, it may eventually. Additionally, being able to detect that a\nchange was made to a NamesFactory makes it possible to optimize\nrefreshing a TaskTree.Node which is needed to correct Node behavior when\nevaluating subsequent changes.\n\nThe NamesFactory and Expander calling interfaces have been adapted to\nmore easily enable COW processing, and this nicely helps illustrate the\nNamesFactory dependency on task properties better.\n\nChange-Id: I1406a193edf236152fa197d3af5356a55b307730\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efafd577a450525507f8c4a4196b561a2709843d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/CopyOnWrite.java"
    },
    {
      "type": "modify",
      "old_id": "b90ca14456c5e1e4fb66fac431c635c3629389ef",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/Properties.java",
      "new_id": "8f5e1fde1878db5078ed90cc17cbefaebe5ee71e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/Properties.java"
    },
    {
      "type": "modify",
      "old_id": "c940ae08af8ee984d87d1211a66d2cedb38b1a65",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java",
      "new_id": "a35976470a89f196e1ea4c9d6d170f691ae4ad3d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java"
    }
  ]
}
