)]}'
{
  "commit": "feefa23de29eeeab6e4e9b5fbb8b509dd7fd52b7",
  "tree": "25797e0a94eb99a2fecaeb31417251d70dca508e",
  "parents": [
    "fbf19deb94dd7f3cb057abd674ffede8eaa36b04"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Mon Mar 17 18:35:03 2025 +0000"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Tue Mar 18 21:02:23 2025 +0000"
  },
  "message": "Introduce local-refdb locking facility\n\nAllow to prevent local writes by locking one or more refs through the\nsame SharedRefDatabaseWrapper class used for the global locks.\n\nHaving local locks help preventing local mutations without having to\nlock all the other nodes.\n\nChange-Id: Ic2fca440b87d9142cb4ec7c810dcbcb2bad35242\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa757db5751f3fd39c823b0c5a282381e67fd987",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/GlobalRefDbLockException.java",
      "new_id": "29ac90e4fd5051c03246fdc3464d72162dd77aec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/GlobalRefDbLockException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "27ac348e2966fc451871b33e5d4342cd6f000322",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/RefDbLockException.java"
    },
    {
      "type": "modify",
      "old_id": "e52705f269fa824ee9a774c580f935a853659c95",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/LockWrapper.java",
      "new_id": "02b2ec083e37e655788095e1ecc067bbd27c838a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/LockWrapper.java"
    },
    {
      "type": "modify",
      "old_id": "04ffeed1daaa4ccc6684944f6ef2fa77c14ccb32",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/Log4jSharedRefLogger.java",
      "new_id": "691d8b1586e41e8c387ac4dc9acd89dcda9c270e",
      "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": "b8682b43a808279210f27c46ffaed1fbc0104100",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/NoOpRefLocker.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c0f1578f7ebc3f5e41f9296ec2fc9328e9b8b0a7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/RefLocker.java"
    },
    {
      "type": "modify",
      "old_id": "cdeb0fa8d50d0b7f73004425419fc1d397344b4a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidator.java",
      "new_id": "50986dad97313f98a4de5f6a196e195819bf4390",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidator.java"
    },
    {
      "type": "modify",
      "old_id": "d89e5354325bcddf0a7e28ed34c7ffbc36fc7d02",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDatabaseWrapper.java",
      "new_id": "fd5d54644be89a97599b332e61218331ec8308bc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDatabaseWrapper.java"
    },
    {
      "type": "modify",
      "old_id": "4b8132f18019876780bb825e5e83d8bf0857ba76",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogEntry.java",
      "new_id": "817b274af3a7c30028447803686bba0e37dfde14",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogEntry.java"
    },
    {
      "type": "modify",
      "old_id": "f61f253d8d08d834d21cccc47e4fba9dcac91ed4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogger.java",
      "new_id": "96db4e44d6d669b26e60bea64c537d7df061b7a5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefLogger.java"
    },
    {
      "type": "modify",
      "old_id": "d6dd3383f35c8a35786a441c4bea6d4d5e46cfb2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/DisabledSharedRefLogger.java",
      "new_id": "873f101a9fe7259360d021816e1cef566f6eeda4",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/DisabledSharedRefLogger.java"
    },
    {
      "type": "modify",
      "old_id": "47964cf3d45d4bbf6643345ff2b4b7e9f3a93a8a",
      "old_mode": 33188,
      "old_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/Log4jSharedRefLoggerTest.java",
      "new_id": "5b9a9dd6ce0f63bdb1a5b445ffac390ae189c15d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/Log4jSharedRefLoggerTest.java"
    },
    {
      "type": "modify",
      "old_id": "1a47aa5221bbea16ef934ee6fbcd0c86976e0bb9",
      "old_mode": 33188,
      "old_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidatorTest.java",
      "new_id": "2e5f4ff01f4419b83c150fed624c72b4edae06e4",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/RefUpdateValidatorTest.java"
    },
    {
      "type": "modify",
      "old_id": "884090e591984572f64d6ffc038a1142b6a76114",
      "old_mode": 33188,
      "old_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDatabaseWrapperTest.java",
      "new_id": "d2e52fd537210a8a7edd43ff375cf8dc4d5862d2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDatabaseWrapperTest.java"
    }
  ]
}
