)]}'
{
  "commit": "10d09b69ea305141af45ad47567291577fc7c59f",
  "tree": "a81fbc16898e6a3bc0d7d994ea8170106b848028",
  "parents": [
    "94f043bc319381acb87f362844b889b41b568df1"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Sun Dec 19 14:33:51 2021 +0100"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Mon Jan 24 20:28:11 2022 +0100"
  },
  "message": "Simplify RefByNameCacheWrapper\n\nThere is no need to excercise DynamicItem for content for each cache\noperation as it cannot contain \u0027null\u0027 as its reference is set to\n\u0027NoOpRefByNameCache\u0027 when LibDbModule is loaded. All classes that refer\nto \u0027RefByNameCacheWrapper\u0027 are loaded in this module too.\nIn case when \u0027LibSysModule\u0027 is not loaded (due to missing entry in\ngerrit.config) then it doesn\u0027t matter as cache will not be created\nanyway). In case when \u0027LibSysModule\u0027 is loaded then during the Gerrit\nstart DynamicItem value will be set to \u0027RefByNameGerritCache\u0027 instance\n(which is a part of the same Module).\nNote that RefByNameCacheWrapper is not a singleton therefore it will\nevaluate DynamicItem once it gets crated together with\n\u0027CachedRefDatabase\u0027 instance each time when it is requested.\n\nChange-Id: I80bc9ac417c8ac3ee6e5c6e1ae8637ed0e4023d3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9744ade7a3791b17c5eae0f7bdfe525ee54d350",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gerritcachedrefdb/RefByNameCacheWrapper.java",
      "new_id": "9ce127a9a82b3ab3e7c344b1f4550515363b811a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gerritcachedrefdb/RefByNameCacheWrapper.java"
    }
  ]
}
