)]}'
{
  "commit": "36581c07b5fc46b6ab7811b14af0aa308ad398d3",
  "tree": "33ef3bd174cc052b94dfb2b338a39012d902718d",
  "parents": [
    "21bab3c517e8630d606ff2157479680f38c48c1e"
  ],
  "author": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Tue Aug 18 13:00:22 2026 -0700"
  },
  "committer": {
    "name": "Kaushik Lingarkar",
    "email": "klingarkar@nvidia.com",
    "time": "Fri Sep 04 11:08:33 2026 -0700"
  },
  "message": "ProjectRepairer: Rsync from a hardlink snapshot\n\nrsync fails when a file it is transferring is unlinked underneath it,\nwhich can happen on repositories that repack often. Link the files to\ncopy into a snapshot dir next to the repository\u0027s objects dir, then\nrsync from there. A hardlink keeps the inode alive after the original\nname is gone, so the transfer always sees a stable set of files. The\nsnapshot is deleted once the transfer for that action finishes.\n\nChange-Id: I47ddf03c63180542dbfe47582941284d3f691f9e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "887a464b579cd6b169ba263bc83c316af2cf824d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/ProjectRepairer.java",
      "new_id": "b70e873874cdbd31b91a8ecf440d9d8807522cca",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/ProjectRepairer.java"
    }
  ]
}
