)]}'
{
  "log": [
    {
      "commit": "28b52b29c755bfdaad99963f80232b4c78c1e89d",
      "tree": "b0255c9e4c91b1d08006064daf9db4ea06f6f773",
      "parents": [
        "cb72e83ecbf4e9a73ccaa8a4821a42c20f74a44e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Oct 03 09:48:16 2025 -0700"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Oct 03 15:08:35 2025 -0700"
      },
      "message": "Add deprecation notice\n\nChange-Id: If29f6ebb7b7df33ba43961f1ea32001c7b798059\n"
    },
    {
      "commit": "cb72e83ecbf4e9a73ccaa8a4821a42c20f74a44e",
      "tree": "9fc4e8e247bd9a484d85fa70496eb713467aadea",
      "parents": [
        "157f862803d45b9d269f0e390f88aece1ded51e8",
        "8a25e22d7e82bdd7e27ec05a6f6698445bd13ff7"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Dec 30 13:58:19 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Dec 30 13:58:19 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.5\u0027\n\n* stable-3.5:\n  Don\u0027t attempt to cache refs containing \u0027[:|@]\u0027 in resolve call\n\nChange-Id: Ia6128b70c22eef310f870427fc12f6fde5d129b1\n"
    },
    {
      "commit": "8a25e22d7e82bdd7e27ec05a6f6698445bd13ff7",
      "tree": "22be2c7614f659fe2e5107569d0d413a3f84adb1",
      "parents": [
        "cd4c46c740f3d5967c4e3bd1dda208013ec0ec45",
        "1485f6cef0183564891a112454104c3780001301"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Dec 30 13:57:09 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Dec 30 13:57:09 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.3\u0027 into stable-3.5\n\n* stable-3.3:\n  Don\u0027t attempt to cache refs containing \u0027[:|@]\u0027 in resolve call\n\nChange-Id: I6c6edcd07018ed4fad9d8f64fa30c0fe3514840d\n"
    },
    {
      "commit": "1485f6cef0183564891a112454104c3780001301",
      "tree": "b62eedd8830874078d42de72bdaaf43694c6f184",
      "parents": [
        "39f62a9da2aff9d712077d746997266247a94192"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Dec 23 08:20:51 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Dec 29 15:03:34 2022 +0100"
      },
      "message": "Don\u0027t attempt to cache refs containing \u0027[:|@]\u0027 in resolve call\n\nThe \u0027ref + \":\" + filename\u0027 syntax is used to resolve the file\u0027s ObjectId\nunder the specific ref. That attempt fails to succeed in \u0027exactRef\u0027 call\ntherefore it falls back to the delegate \u0027resolve\u0027 call.\nThe `ref + \"@\"` syntax (according to [1]) is used to reach out to a\nreflog entry or to a value of ref prior the point in time.\nThe result (for both cases) is consistent with delegate \u0027resolve\u0027 call\nbut cycles are wasted on \u0027exactRef\u0027 call that returns \u0027null\u0027.\n\nThis change adds refs that contain \u0027[:|@]\u0027 as non cacheable. The check\nleverages on Guava\u0027s CharMatcher to check all chars in a single input\nString\u0027s loop.\nNote that the CachedRefRepositoryIT was rewritten to work on a\nFileRepository so that reflog could be enabled and `@`-related checks\nperformed.\n\n[1] https://git-scm.com/docs/git-rev-parse#_specifying_revisions\n\nBug: Issue 16553\nChange-Id: Ia86e6bd2c0da4c7eceffc090ad1e7a63d63552fc\n"
    },
    {
      "commit": "157f862803d45b9d269f0e390f88aece1ded51e8",
      "tree": "885515fe3f0c61e52c5c8ef5664c9e5c2c22102b",
      "parents": [
        "44185689660c952dd3f9cd25421af5d02b79cb11",
        "cd4c46c740f3d5967c4e3bd1dda208013ec0ec45"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Dec 05 08:15:33 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Dec 05 08:15:33 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.5\u0027\n\n* stable-3.5:\n  Bind the cached-refdb repository manager also as named binding\n  Cache refs/... resolutions\n  Allow binding the module without GitRepositoryManager\n  Ensure that cached-refdb compiles against \u0027stable-3.5\u0027\n  Preload all cache when fetching all refs\n  Use DelegateRepository implementation from Gerrit core\n  Add change verification\n\nChange-Id: Ib02fcbb14132ed9ad04aef9c3ff117d57f5d38ce\n"
    },
    {
      "commit": "cd4c46c740f3d5967c4e3bd1dda208013ec0ec45",
      "tree": "b1b5e2f1236a106f9da16cc045aac265bff063b9",
      "parents": [
        "4f2721a27ce485d597c8b90b046cf28c973af740",
        "39f62a9da2aff9d712077d746997266247a94192"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Dec 05 08:11:22 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Dec 05 08:11:22 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.3\u0027 into stable-3.5\n\n* stable-3.3:\n  Bind the cached-refdb repository manager also as named binding\n  Cache refs/... resolutions\n  Allow binding the module without GitRepositoryManager\n  Preload all cache when fetching all refs\n  Use DelegateRepository implementation from Gerrit core\n  Add change verification\n\nChange-Id: If237264e04363e25bd46d21c551433b830b80a53\n"
    },
    {
      "commit": "39f62a9da2aff9d712077d746997266247a94192",
      "tree": "251eb1a2a083367f4ab582e9cd9886c58496876e",
      "parents": [
        "d281553f35dc84c4e6e17453ff7c617b1e50733b",
        "167490520dd5f8ef845482b6f1487cac66e3226e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 03 11:41:46 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 03 11:41:46 2022 +0000"
      },
      "message": "Merge \"Cache refs/... resolutions\" into stable-3.3"
    },
    {
      "commit": "d281553f35dc84c4e6e17453ff7c617b1e50733b",
      "tree": "dc97762442b7030663cfbe4fb7e62a8b42f729cd",
      "parents": [
        "28980fe4f22a354bb0c809a13b23371789b63b6e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 01 00:57:08 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 03 11:36:50 2022 +0000"
      },
      "message": "Bind the cached-refdb repository manager also as named binding\n\nIn addition to the regular binding, add one named binding of the\nCachedRefDbRepositoryManager to the local_disk_repository_manager\nname. This allows other modules (e.g., multi-site) or plugins\n(e.g., pull-replication) to inject the cached-refdb implementation\nwithout having known its class name.\n\nChange-Id: Ieb74e8ba5a27f54f100672560e24ce7ef2fb7573\n"
    },
    {
      "commit": "167490520dd5f8ef845482b6f1487cac66e3226e",
      "tree": "6f078eebe81f83e77188f350bc2f1f8996bac173",
      "parents": [
        "28980fe4f22a354bb0c809a13b23371789b63b6e"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Nov 23 08:27:36 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Dec 03 09:24:26 2022 +0100"
      },
      "message": "Cache refs/... resolutions\n\nWhen `Repository.resolve` is called it recognizes if the string is a ref\nreference and returns its ObjectId. Cache all requests to `refs/...` so\nthat reading from repository is avoided. Note that ref tip\u0027s parent\nreferences are not cached.\nNote that `PrologCompiler.call` calls `Repository.resolve` on\n`refs/meta/config` and that should be improved.\n\nAdd integration test that compares the `resolve` method output with the\nJGit\u0027s one for the following patterns:\n* HEAD\n* SHA-1: a complete or abbreviated SHA-1\n* refs/...: a complete reference name\n* refs/.../^: first parent of the complete reference name\u0027s tip commit\n* short-name: a short reference name under refs/heads, refs/tags, or\n  refs/remotes namespace\n* tag-NN-gABBREV: output from describe, parsed by treating ABBREV as an\n  abbreviated \u003e SHA-1.\n* id^: first parent of commit id, this is the same as id^1\n* id^{commit}: ensure id is a commit\n\nBug: Issue 15556\nChange-Id: I9a722d55b105a27ceda7e0ecbec1ce886ff896f5\n"
    },
    {
      "commit": "28980fe4f22a354bb0c809a13b23371789b63b6e",
      "tree": "c45f7db2ab4818396a0dc44eeafedd7222d4a44f",
      "parents": [
        "2fe69c0b724f9ae91261666838700d516d792d2b",
        "4fef4daf5f5bcf01e54f9d49b0bd62539f10dc80"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 02 23:42:06 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 23:42:06 2022 +0000"
      },
      "message": "Merge \"Allow binding the module without GitRepositoryManager\" into stable-3.3"
    },
    {
      "commit": "4fef4daf5f5bcf01e54f9d49b0bd62539f10dc80",
      "tree": "c63c14ed4d1c2260951d60ebe6e1a95f92171e88",
      "parents": [
        "068b1461c0fee21f32679b04fba2fd5492ead068"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Nov 22 23:27:03 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 02 23:32:38 2022 +0000"
      },
      "message": "Allow binding the module without GitRepositoryManager\n\nWhen using the cached-refdb with other libModules that are\nwilling to bind the GitRepositoryManager (e.g., multi-site)\nit is fundamental to keep on registering the factories needed\nfor the libModule to keep on working as usual.\n\nIntroduce a new vanilla libModule so that it can be bound\nwithout registering the GitRepositoryManager.\n\nChange-Id: I3df17c92ee162a89ba32d7364fcbc8777d259ac3\n"
    },
    {
      "commit": "2fe69c0b724f9ae91261666838700d516d792d2b",
      "tree": "5795fb177a0b1cdef8bd20750a727d005de99e9a",
      "parents": [
        "068b1461c0fee21f32679b04fba2fd5492ead068",
        "6ee2c77081fb4a347c7bd73a599615b417c0e305"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 02 23:26:23 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 02 23:26:23 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Preload all cache when fetching all refs\n\nChange-Id: I384cee3485249dc13233b3012f5c6434ad994a63\n"
    },
    {
      "commit": "068b1461c0fee21f32679b04fba2fd5492ead068",
      "tree": "29ee6477ebd2267f8792dcc5885ce0df2f4ea757",
      "parents": [
        "3b754d18c5666fb94be54b546c3fe0beb52e6615",
        "f597fbf1524f9ff1a3ccd57b4fdeda80c938bcc2"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 02 23:22:38 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 23:22:38 2022 +0000"
      },
      "message": "Merge \"Add change verification\" into stable-3.3"
    },
    {
      "commit": "4f2721a27ce485d597c8b90b046cf28c973af740",
      "tree": "4d9ad6b2b29c49cf4ca0e936426202fe19064578",
      "parents": [
        "8a8f1839490edcaefcefe66af4c082c99c741ebe"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Oct 29 12:32:20 2022 +0200"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Oct 29 12:32:20 2022 +0200"
      },
      "message": "Ensure that cached-refdb compiles against \u0027stable-3.5\u0027\n\nBug: Issue 16365\nChange-Id: Ia5f815305fd102e13ad97efeceb7c173c12eef3c\n"
    },
    {
      "commit": "6ee2c77081fb4a347c7bd73a599615b417c0e305",
      "tree": "6bd00bee8696f217650e557c0d16c841aa22e0d2",
      "parents": [
        "74f4261a5d3270786a790343940e1cef9e1379ab"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jul 21 19:53:12 2022 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jul 21 19:59:03 2022 +0100"
      },
      "message": "Preload all cache when fetching all refs\n\nWhen calling the RefDatabase.getRefs() the entire refs\nare loaded and present in memory: use the opportunity\nto cache the all set of refs into the in-memory key-value\nstore for allowing a fast preloading of the refs cache.\n\nChange-Id: I24423089305490befe3156e80b3dbd1c7010304d\n"
    },
    {
      "commit": "3b754d18c5666fb94be54b546c3fe0beb52e6615",
      "tree": "c19ee954f1ff733f5b27c73e8b3137c52e86a3ba",
      "parents": [
        "4044ae9c5a8c093e133eced7128eb87d6654b422",
        "74f4261a5d3270786a790343940e1cef9e1379ab"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 18 19:24:10 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 18 19:24:10 2022 +0200"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Use DelegateRepository implementation from Gerrit core\n\nChange-Id: Icd81c8e857e0560bc15e6869e609a1b6ea08aac8\n"
    },
    {
      "commit": "74f4261a5d3270786a790343940e1cef9e1379ab",
      "tree": "c19ee954f1ff733f5b27c73e8b3137c52e86a3ba",
      "parents": [
        "abd566a93fd5661fb3fb0a4a5d459a207698026f"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Dec 22 07:37:51 2021 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 18 11:36:02 2022 +0200"
      },
      "message": "Use DelegateRepository implementation from Gerrit core\n\nIssue:\nWhen lib version of DelegateRepository is used then\nUnsupportedOperationException is thrown from the call to GC.\n\nSolution:\nUse DelegateRepository from Gerrit core so that GC is called on a\ndelegated repository (depends on [1]).\nNote that UI GC support was enabled by delegating \u0027canPerformGC\u0027 method\nto the underlying repository manager.\n\n[1] https://gerrit-review.googlesource.com/c/gerrit/+/326777\n\nChange-Id: Ic9e7182d7bc5c09a55ded7642e3682843aace052\n"
    },
    {
      "commit": "44185689660c952dd3f9cd25421af5d02b79cb11",
      "tree": "85a618afc50bf38be9bf603be3ca157c923e3e6f",
      "parents": [
        "8a8f1839490edcaefcefe66af4c082c99c741ebe"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Mar 11 08:13:57 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Mar 11 08:13:57 2022 +0100"
      },
      "message": "Adjust to changes made on Gerrit \u0027master\u0027\n\nThe following changes were applied:\n* obsolete JDK SortedSet was change to NavigableSet on\n  GitRepositoryManager\n* Repository was adjusted to JGit changes\n\nBug: Issue 15070\nChange-Id: Ida77fececedf5a9d1f0bc25b10444943e36894ca\n"
    },
    {
      "commit": "8a8f1839490edcaefcefe66af4c082c99c741ebe",
      "tree": "adb7a2639d8e79d6254e6498387215f12d5a1beb",
      "parents": [
        "4044ae9c5a8c093e133eced7128eb87d6654b422"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Mar 11 07:57:29 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Mar 11 07:57:29 2022 +0100"
      },
      "message": "Adjust to changes in GitRepositoryManager\n\nGitRepositoryManager was extended with \u0027getRepositoryStatus\u0027 in Gerrit\nstable-3.5 therefore adjustment was necessary.\n\nChange-Id: Ia1d2efc68893bca3b307713c60fced986d360ed9\n"
    },
    {
      "commit": "f597fbf1524f9ff1a3ccd57b4fdeda80c938bcc2",
      "tree": "29ee6477ebd2267f8792dcc5885ce0df2f4ea757",
      "parents": [
        "4044ae9c5a8c093e133eced7128eb87d6654b422"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Feb 01 20:26:52 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:40:37 2022 +0100"
      },
      "message": "Add change verification\n\nChange-Id: I74278b8dcc355eb1d2b3679c6376e7d64e3eef40\n"
    },
    {
      "commit": "4044ae9c5a8c093e133eced7128eb87d6654b422",
      "tree": "c19ee954f1ff733f5b27c73e8b3137c52e86a3ba",
      "parents": [
        "e26279a75faa918c0d6743b8079bd65951113ce2",
        "abd566a93fd5661fb3fb0a4a5d459a207698026f"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:39:14 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:39:14 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Apply minor fixes to README.md\n  Adjust module name to gerrit.googlesource repo name\n\nChange-Id: I024eca386a98836a05417a3c0a54862fccf0ae42\n"
    },
    {
      "commit": "abd566a93fd5661fb3fb0a4a5d459a207698026f",
      "tree": "7721c0e55106a5ba9db926b2a8dbd1bc50afd322",
      "parents": [
        "d03257c8d676c21223d26d52530b09af8d963ae2"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:33:29 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:33:29 2022 +0100"
      },
      "message": "Apply minor fixes to README.md\n\nChanges:\n* fix performance comparison results table formatting\n* assume that more than one lib module can be installed by using \u0027--add\u0027\n  option to configuration modifications\n\nChange-Id: Ia0908a5a3c05edfa907184786a7028c193360902\n"
    },
    {
      "commit": "d03257c8d676c21223d26d52530b09af8d963ae2",
      "tree": "b6888fddba83cf0c9bb12a519072f899688333bb",
      "parents": [
        "5b8d360ea16580d831a35ea96dba3d4d33cbe969"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:23:36 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Feb 03 09:23:36 2022 +0100"
      },
      "message": "Adjust module name to gerrit.googlesource repo name\n\nChanges:\n* rename plugin to \u0027cached-refdb\u0027\n* rename package to \u0027cachedrefdb\u0027\n* rename classes - remove \u0027Gerrit\u0027 part where applicable\n\nChange-Id: I921a27974adf3738bbfc62be500b0d5a2765d156\n"
    },
    {
      "commit": "e26279a75faa918c0d6743b8079bd65951113ce2",
      "tree": "7a328fdf591f66822e513ab50edfd16ba018167f",
      "parents": [
        "5fe2df0d9a9e8f8ef844155b129dbc4febf3bafb"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Dec 22 07:37:51 2021 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Jan 28 08:40:37 2022 +0100"
      },
      "message": "Use DelegateRepository implementation from Gerrit core\n\nIssue:\nWhen lib version of DelegateRepository is used then\nUnsupportedOperationException is thrown from the call to GC.\n\nSolution:\nUse DelegateRepository from Gerrit core so that GC is called on a\ndelegated repository (depends on [1]).\nNote that UI GC support was enabled by delegating \u0027canPerformGC\u0027 method\nto the underlying repository manager.\n\n[1] https://gerrit-review.googlesource.com/c/gerrit/+/326777\n\nChange-Id: Ic9e7182d7bc5c09a55ded7642e3682843aace052\n"
    },
    {
      "commit": "5fe2df0d9a9e8f8ef844155b129dbc4febf3bafb",
      "tree": "b4c91e81be41d1366b2a71b71a2bbe8e5b2c6c5d",
      "parents": [
        "974f43b7be324dbc5a10a0ff98ac885fcc5de57b",
        "5b8d360ea16580d831a35ea96dba3d4d33cbe969"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Jan 28 08:03:46 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Fri Jan 28 08:03:46 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.2\u0027\n\n* stable-3.2:\n  Swap the whole GitRepositoryManagerModule\n  Use project name in calls to cache\n  Simplify RefByNameCacheWrapper\n  Add LICENSE and README.md files\n\nChange-Id: I95dd6a4e8d561bbd712a2c3c349ba7eb8e89bf33\n"
    },
    {
      "commit": "5b8d360ea16580d831a35ea96dba3d4d33cbe969",
      "tree": "b4c91e81be41d1366b2a71b71a2bbe8e5b2c6c5d",
      "parents": [
        "e62b2b45ed29fc0b72623582b87a268f9d3a639c"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Dec 21 08:55:26 2021 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Jan 24 21:00:50 2022 +0100"
      },
      "message": "Swap the whole GitRepositoryManagerModule\n\nUse functionality provided in [1] in order to provide support fot setups\nwith multi-base repositories functionality.\n\n[1] https://gerrit-review.googlesource.com/c/gerrit/+/326778\n\nChange-Id: I4464bdc97977b4f0d5d64e34b2b16dbdaff8f128\n"
    },
    {
      "commit": "e62b2b45ed29fc0b72623582b87a268f9d3a639c",
      "tree": "0d13b41a3e33530959a7cfc3ed3567708c23e80f",
      "parents": [
        "10d09b69ea305141af45ad47567291577fc7c59f"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Dec 21 07:40:25 2021 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Jan 24 20:34:19 2022 +0100"
      },
      "message": "Use project name in calls to cache\n\nProject name is unique in a Gerrit instance therefore it can be used as\na ref qualifier instead of identity. It is way shorter therefore it will\nresult in a small memory optimization.\n\nChange-Id: I80a464822e9399af01efbc48373c6579cdcb4578\n"
    },
    {
      "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"
    },
    {
      "commit": "94f043bc319381acb87f362844b889b41b568df1",
      "tree": "6b14479648b3b1737cb2cbdcfa178c76d7012279",
      "parents": [
        "974f43b7be324dbc5a10a0ff98ac885fcc5de57b"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Jan 13 16:40:12 2022 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Thu Jan 13 17:41:21 2022 +0100"
      },
      "message": "Add LICENSE and README.md files\n\nChanges:\n* LICENSE contains the standard \u0027Apache License Version 2.0\u0027\n* README.md contains necessary information on how to build and setup\n  Gerrit and gerrit-cached-refdb library module\n\nChange-Id: Icbb57bef63f13e3762a0b636f5c510d8741d5f2f\n"
    },
    {
      "commit": "974f43b7be324dbc5a10a0ff98ac885fcc5de57b",
      "tree": "fd7c5caa600d973d4378236c7f60ba9bfdcc9028",
      "parents": [
        "527b8c250ce9b0cc5203cab09c80d85ee9264d92"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Dec 18 09:55:44 2021 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Dec 18 09:55:44 2021 +0100"
      },
      "message": "Set RefByNameGerritCache to DynamicItem on Gerrit start\n\nChange-Id: I908f7a1484feef2a871612c067bf7c182bfa0b09\n"
    },
    {
      "commit": "527b8c250ce9b0cc5203cab09c80d85ee9264d92",
      "tree": "635b85dd71ff0e23d7166652060957549468f41c",
      "parents": [],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Dec 15 09:00:21 2021 +0100"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Sat Dec 18 09:25:47 2021 +0100"
      },
      "message": "Initial libraty creation\n\nThe problem is with DynamicItem - it doesn\u0027t get updated with the Gerrit\ncache reference. It seems that it doesn\u0027t work across db and sys injector.\n\nChange-Id: I05cf4766e4b74b380c9fbf7c6e25553dfa76d5d3\n"
    }
  ]
}
