)]}'
{
  "commit": "c883613e317561579e164a7d92ea4347d502b86d",
  "tree": "5c6c4a8bc0895791777b1eea4f5eed772ebfee8d",
  "parents": [
    "384c059f9e7c7497a1f003cbe9b50a49260f3f6d"
  ],
  "author": {
    "name": "Xin Li",
    "email": "delphij@google.com",
    "time": "Tue May 26 15:52:48 2026 -0700"
  },
  "committer": {
    "name": "Xin Li",
    "email": "delphij@google.com",
    "time": "Wed May 27 10:36:32 2026 -0700"
  },
  "message": "sync: Skip copyfile/linkfile for unavailable projects\n\nCommit 5534f16 made UpdateCopyLinkfileList to retry _CopyAndLinkFiles\nfor all projects in the manifest to handle directory-to-symlink\ntransistions. However, for partial sync\u0027s (e.g. repo sync \u003cproject\u003e),\nprojects not included in the sync may not have their local directories\npopulated, attempts to perform the operation on unavailable projects\nwould result in dangling symlinks, or errors like:\n\nerror: Cannot copy file \u003csource\u003e to \u003cdestination\u003e\n\nFix this by adding a check inside _CopyAndLinkFiles in project.py to\nso these operations happen only when the project\u0027s worktree exists\nand is a directory.\n\nTAG\u003dagy\nCONV\u003d90f5fca7-2199-4017-8f62-a010b0ab1dbf\n\nChange-Id: I9ae1e8d62d8fd129cb4535e574c38339c87af441\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/587501\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Xin Li \u003cdelphij@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6731f8599aad61f6ccdaa7cdf2251b206edeecec",
      "old_mode": 33188,
      "old_path": "project.py",
      "new_id": "b26e2a6acb71dd6a83aecbea6f746b8765a5551d",
      "new_mode": 33188,
      "new_path": "project.py"
    }
  ]
}
