)]}'
{
  "commit": "406fc0bfb02e28036ae80f5ea45e64fe5f77c564",
  "tree": "5c5f536fee4c294b0edad65b55759053e3233c29",
  "parents": [
    "168ad4d8dcd74cf0263476252b2f11ef4b96b20e"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Fri Nov 25 15:08:07 2022 +0000"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Thu Dec 01 18:18:44 2022 +0000"
  },
  "message": "Introduce pull-replication user and internal group\n\nAllows to identify the internal user created by the pull-replication\nplugin as member of the pullreplication/internal-user and\nAnonymous-Users groups.\n\nUse the new pullreplication/internal-user impersonification when\nreceiving calls using bearer-token authentication, so that all\ninternal operations would benefit from the new custom identity.\n\nThe rationale behind this new internal user definition is\nin the implementation of Gerrit\u0027s InternalUser, which does not\nallow to define any membership and therefore won\u0027t be effectively\nuseful for accessing all the resources that the pull-replication\nplugin needs:\n- Access to the repositories\n- Access to the git-upload-pack\n\nThe access to all refs of all repositories is achieved by\nsubclassing the InternalUser whilst the access to git-upload-pack\nis automatically available through the membership to\nAnonymous-Users.\n\nAlso, should the Gerrit admin decide to restrict who\ncan run the git-upload-pack, it would be possible to use the\nnew pullreplication/internal-user group.\n\nChange-Id: I9c03693a3969506b0dbe6acbfba5de8ca8a1b020\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93bbde0bdaa2e2e3ec8d1c71f3b444b020f02d1e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java",
      "new_id": "1671410c3d8f9bba0e7b3c7fde9f4416b6776db7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java"
    },
    {
      "type": "modify",
      "old_id": "cbe1ab8d7548bbe5048fa7ad829e50965bb4fa4c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/BearerAuthenticationFilter.java",
      "new_id": "f196dbe9504aedde71dbae1f277b07d7a53228d5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/BearerAuthenticationFilter.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "95210046798bf8325b85a27a4e6636b3bc368eab",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/auth/PullReplicationGroupBackend.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "583ba8e4e55d4f316c9122ef0ae07f9019e0837a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/auth/PullReplicationGroupModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e8b766629d7a0d9b5d0ecddf70d90923555b7532",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/auth/PullReplicationInternalUser.java"
    },
    {
      "type": "modify",
      "old_id": "bbbe66f68067a5c4dee1caf03be2dd7d090dffc3",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/BearerAuthenticationFilterTest.java",
      "new_id": "96c83a1e3a4668e783a03496e7dea1847162fa63",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/BearerAuthenticationFilterTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87738e3f852169716329ed7bdc488f57dd0b9c84",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/auth/PullReplicationGroupBackendIT.java"
    }
  ]
}
