)]}'
{
  "commit": "617686251c8742e9fb43f73a7602f4f4fab8853d",
  "tree": "d7814b604fd296c7d237c71164b50a0ba8a00f3a",
  "parents": [
    "75a137dd271e7aaddbafff713889b191df088f04"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Thu Jun 27 22:13:24 2024 +0100"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Thu Jun 27 22:19:21 2024 +0100"
  },
  "message": "Bind ProjectDeletionAction and CacheDeleteHandler explicitly\n\nThe ProjectDelectionAction and its CacheDeleteHandler classes were\nimplicitly bound at their first outer-level container class\nin a non-controlled injector.\n\nIn same cases, e.g. when the pull-replication plugin was loaded\nbefore the delete-project and was accessible at top-level class\nloader, Guice was generating a just-in-time binding in the parent\nclass loader that would have then conflicted with the explicit\nbinding performed in the delete-project plugin.\n\nSee below an example of the resulting exception:\n\n1) [Guice/JitBindingAlreadySet]: A just-in-time binding to CacheDeleteHandler was already configured on a parent injector.\n  at PluginModule.configure(PluginModule.java:49)\n\n1 error\nCacheDeleteHandler: \"com.googlesource.gerrit.plugins.deleteproject.cache.CacheDeleteHandler\"\nPluginModule:       \"com.googlesource.gerrit.plugins.deleteproject.PluginModule\"\n\nBinding the classes explicitly to the injector that is loading\nthe plugin, prevents Guice from creating just-in-time binding at\nunexpected hierarchy levels.\n\nChange-Id: I11192677a3af752719df3b37c84856a976290d7c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "95082b89ee52362d93a4090d9d694ec78d2cca6e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java",
      "new_id": "72a0182c27e44c19ae7454181851f64090af7c0c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java"
    },
    {
      "type": "modify",
      "old_id": "6a21104fde640ba991c28934ac237bea3456974c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/ProjectDeletionAction.java",
      "new_id": "f9165ad48fc6e6cbd6ca5b830eb03431f0a071b3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/ProjectDeletionAction.java"
    }
  ]
}
