)]}'
{
  "commit": "f578e7b471305b1615cf622c51d362c98c5f498a",
  "tree": "297f79fe9bde0ac36b9251b523226339c08bbdb1",
  "parents": [
    "dc04bb1dc671c3cb82434def6ff7f41092391b79"
  ],
  "author": {
    "name": "Marcin Czech",
    "email": "maczech@gmail.com",
    "time": "Wed Oct 07 15:49:14 2020 +0200"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca@milanesio.org",
    "time": "Tue Oct 13 22:33:43 2020 +0000"
  },
  "message": "Add shared-refdb validation framework\n\nMoving shared-refdb validation framework code from multi-site\nplugin to global-refdb library allows reuse of existing functionality in\nhigh-availability plugin.\n\nAlso, bump Gerrit API to v3.2.3.\n\nFeature: Issue 13429\nChange-Id: Ib25b347a84e953d0da2e1850ebc1b1c14b213c89\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b797968a83775a1b610d4e1b44d61c7fcbdd86a8",
      "old_mode": 33188,
      "old_path": "pom.xml",
      "new_id": "844c33c292093c1c85941470ced4708b51b0dbc3",
      "new_mode": 33188,
      "new_path": "pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0961b3c80f067e756633f8a93589252eeb442a32",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/BatchRefUpdateValidator.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49b20d8849b9e9397f125d81affdc85cc0725493",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/LibModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "075bcc9f327be4810a35cdf7a2fd70c53f2b0e72",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/LibModuleLogFile.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "18d75a38a1a8f85b9a7b6287815d6f291bf5b0fc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/LockWrapper.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5653ee2b6b810d5fcadbd3d41129e1973c0180ce",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/Log4jSharedRefLogger.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ec72bcccb14a1bb6cc17a47e7e1f3b9f583c6c62",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/ProjectDeletedSharedDbCleanup.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3121df4bba82c59705c85741ff6f1c1d2afe32bd",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/ProjectsFilter.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7156a7ef39765f43daf071365311deefc67fd432",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/RefPair.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "123e382eaf40079a6e741bd5d7cce275f0b9bfdd",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidator.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d9c8051e8e22632ff33e5c962010ee5ee372653b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDatabaseWrapper.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d23c32ffd64062d4bce73f344e2a478a8c44f6f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbBatchRefUpdate.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3708f74fb293265a917a19226c728e7a2d0c2737",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbConfiguration.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b533c05ce965dbf2eabff40ee8befe4cb664ef0a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManager.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8597c497b056df55599a02984d061f4ede3e20ae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbRefDatabase.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eb68b14d60fe19ae7ed95117c01974b03b3557fa",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbRefUpdate.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8758a142ff024be1290d55ca7449058cf4abe877",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbRepository.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d580057af58bc7984a3492efe39b7c69ea82a95f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogEntry.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "faef27beddf0d915db85e4aea72dc7581f239e58",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogger.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "678091b42a356604ae5a015298ba5bb0d53f26a9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/ValidationMetrics.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1eca365e242b91eede66fda1f54d028af863ac4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/CustomSharedRefEnforcementByProject.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c2ef35555742d8603cbb0ee4aadf0ce7db288fb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/DefaultSharedRefEnforcement.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4810c647f2026e561e7c9571a52dfabcc68f5c52",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/NoopSharedRefDatabase.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8dc304921e5ae122bcfa692869e3e2bfe9cf03b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/OutOfSyncException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aece4cba1964138a8d71db7fa8c44cd06b115d3a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/SharedDbSplitBrainException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "69c3f3305e8222add5948b6ceca0e7a4e78bb23b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/SharedLockException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2c1ed6fdbf6ed56b0d9fd9a6d3b76380d9180ab",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/SharedRefEnforcement.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e1c8478807bca28c8ad48595c57121ebfa2ef637",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/BatchRefUpdateValidatorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9a1e5713f2485cc3272da19cd664856b0063e3a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/DisabledSharedRefLogger.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "84d691235247f9a9b5570e44cc5a72a485c278a2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/DummyLockWrapper.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2c890911e27d20400f0a9e3c9eb13b9b223bd245",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/Log4jSharedRefLoggerTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf383bf107376ebb0c7fbcfc4548925175954cc1",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/ProjectDeletedSharedDbCleanupTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8da17e3c93a2aa6fa8689ebebfa249f519f73e9",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/ProjectsFilterTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2c7431f8c681d626748928cf26b691c318827d95",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidatorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e52cc5fe81b43f54dc65c2c18a960b7599c633a7",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbBatchRefUpdateTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2b8ad61d54e2f0922066feff4eab20f28ccd146",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManagerTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "352b136e0350b208ac9d5ee199571c4d11f6068b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbRefDatabaseTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cb4c832d414c1e0392e288fb84b69ac6f8feb81",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbRepositoryTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4cf680075fd5981f9b10b359fc645771dcce9044",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/CustomSharedRefEnforcementByProjectTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a9f0cb2ffbdca379619ce77781cdb19b9ccbb1de",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/DefaultSharedRefEnforcementTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc1435cba35c22742ad652d59d1758fadf8b360e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/NoopSharedRefDatabaseTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa6a825c6fb44241322aae76ce79ebab5023c4ef",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/RefFixture.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d3d8b82e7b26d037f8a4b48ed0d212734fea3a6",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/RefSharedDatabaseTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e78ba6deee1bfd1361075d8886c9c63a12f2c678",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/dfsrefdb/RefUpdateStub.java"
    }
  ]
}
