)]}'
{
  "commit": "dcf17052dbd56cd5a9d8a1e0b3b5e759f855f5bf",
  "tree": "6ef3434b511294df9fa949ec5fdca491a34018fd",
  "parents": [
    "d8ae6cc531c634c5e594470fef5fb4902cb0f048"
  ],
  "author": {
    "name": "Bhoomika Srinivas",
    "email": "bhoomikas@nvidia.com",
    "time": "Fri Aug 28 15:15:07 2026 +0530"
  },
  "committer": {
    "name": "Bhoomika Srinivas",
    "email": "bhoomikas@nvidia.com",
    "time": "Sat Aug 29 13:07:57 2026 +0530"
  },
  "message": "Add projectSharded URL selection per remote\n\nExtend `remote.NAME.urlDistributionStrategy` with a `projectSharded`\nvalue. Like `roundRobin` it picks a single URL per push, but derives it\nfrom the project name, so a project always replicates to the same URL\ninstead of rotating on every event.\n\nReplication tasks are coalesced per (project, URI), so rotating URLs\nleaves successive updates to one project as separate tasks racing\nagainst the shared NFS backend. Pinning collapses them into one task.\nThe URL is chosen by hashing the project name over the sorted candidate\nlist, so every host agrees regardless of config order.\n\nChange-Id: I91118a47e0e7da64995a9a444d4baf56ec8b8386\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1c2bc94dd85a6b8f9bd87a79ca7484cceecbb233",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java",
      "new_id": "c8957630046ed7cd0d5cdca8fdc3af889cdd9b15",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java"
    },
    {
      "type": "modify",
      "old_id": "82f33d7fd3693b0e6322ce4cefb280b6e27828d7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/DestinationsCollection.java",
      "new_id": "58ebed84438e6e580b90fad939e0c3dd92d92d97",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/DestinationsCollection.java"
    },
    {
      "type": "modify",
      "old_id": "46183eb1e31c61bded6abb06b8fc73e399856b7c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/UrlDistributionStrategy.java",
      "new_id": "ddff448b52ff5185726bd6df5129ce052602a9be",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/UrlDistributionStrategy.java"
    },
    {
      "type": "modify",
      "old_id": "73b3805daf56145fc7caa5e44ba01dbf9799ae5e",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/config.md",
      "new_id": "ac71ed6ba073186661db4440dc02173cc954cf39",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/config.md"
    },
    {
      "type": "modify",
      "old_id": "c7b41742d71919d6176de6d19f5e59425051aa4d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/DestinationConfigurationTest.java",
      "new_id": "f5118dde3710a70b36bc22e28ccff93e63cff52d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/DestinationConfigurationTest.java"
    },
    {
      "type": "modify",
      "old_id": "3b3686f4b9dfa05c631f353531b904690311e36d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationIT.java",
      "new_id": "40f485f9f7ac1211c7e1787dd8f9d14352515332",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationIT.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ded31e846d542f6f6d83ee241c20d84d3c29a20",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/UrlDistributionStrategyTest.java"
    }
  ]
}
