)]}'
{
  "commit": "546b777103303f89792cae27a7de2b5f07f20574",
  "tree": "3e4cf00411631cb4651b2525be0dd1e2a76fe180",
  "parents": [
    "ec6956dac5c5ebcc9212ad1a54c777e737a2baf5"
  ],
  "author": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Mon Jan 03 15:09:09 2022 +0100"
  },
  "committer": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Tue Jan 04 15:07:47 2022 +0100"
  },
  "message": "Introduce cache for open changes\n\nGit-refs-filter plugin relies on change_notes when filtering for open\nchanges.\n\nIn order to speed up access to them, it is advised to enable caching for\nchange_notes, as documented in the README.md.\n\nWhilst this improves the _accessing_ of the change note, it does nothing\nto speed up the parsing of the change itself, in order to gather the\nchange status information, needed to assess whether the change is\nactually open.\n\nIntroduce an additional in-memory cache to store previously computed\nopen/close change statuses to avoid processing them over and over\nagain.\n\nExplicit cache invalidation is not necessary, since the change revision\nis part of the cache key, so that previous entries automatically become\nobsolete once a change status is updated.\n\nBug: Issue 15484\nChange-Id: I36467dbd7c1ce646d97be410acbae564fa4a675f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c172399f106d63127e765c4aee03b8ce4d9174d9",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "5b6b123601fdfef1746eb9cf80ba0fa64162d688",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0587524b98cd04ad5655f0888d5b5479a43d7c9a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/gitrefsfilter/ChangeOpenCache.java"
    },
    {
      "type": "modify",
      "old_id": "23c26acedd1cb7f3dfa04ca6ce208acbd36adc41",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/gitrefsfilter/ForProjectWrapper.java",
      "new_id": "1c59ab7848c711deb09c392e1f1978209b2404b9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/gitrefsfilter/ForProjectWrapper.java"
    },
    {
      "type": "modify",
      "old_id": "98ce8622ce03e503aa04dc8c26a8a717a72ba7a2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/gitrefsfilter/RefsFilterModule.java",
      "new_id": "9a3f65f90306189809b038b5ad439cacb80bc398",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/gitrefsfilter/RefsFilterModule.java"
    },
    {
      "type": "modify",
      "old_id": "ea1d61e2b09d669c267acb41238bd15387ba5037",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/libmodule/plugins/test/AbstractGitDaemonTest.java",
      "new_id": "c58f0b89055fbe60dc3e6ffacf70bf8aa4f33a68",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/libmodule/plugins/test/AbstractGitDaemonTest.java"
    },
    {
      "type": "modify",
      "old_id": "957d4f7759fddca9b0869627641a1c31bb7d4160",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java",
      "new_id": "864469ab01bd9ab2a1c6dfd9227cbd31d5f32d0c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java"
    }
  ]
}
