)]}'
{
  "commit": "bb7b63785a7c9288bb0167fa79aa6f8d67c64a8e",
  "tree": "66b836c5642e8977cd65b70bb7ccac6f8e7527fc",
  "parents": [
    "36581c07b5fc46b6ab7811b14af0aa308ad398d3"
  ],
  "author": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Fri Sep 18 17:26:49 2026 -0700"
  },
  "committer": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Mon Sep 21 15:02:26 2026 -0700"
  },
  "message": "ProjectRepairer: Sweep stale snapshots before repairing\n\nDelete snapshots older than a day at the start of each repair. A\nsnapshot directory is deleted in a finally block once its transfer\nfinishes, which covers every normal path, including failures and\ninterrupts. It cannot cover an abnormal JVM exit, such as a kill or an\nout of memory kill, between creating the hardlinks and deleting them.\nThe links that survive keep the objects they point at alive, so gc\ncannot reclaim the space until someone removes the directory by hand.\n\nChange-Id: Ia49e874ab39cc1eb86d0ca3fa898f2e7b31fa91d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b70e873874cdbd31b91a8ecf440d9d8807522cca",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/ProjectRepairer.java",
      "new_id": "d2e0edfb2d1e94da508de4a9d22046284bfedf8c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/ProjectRepairer.java"
    }
  ]
}
