)]}'
{
  "commit": "3a6e25af7537181aae251951b8aabe7748c3aee5",
  "tree": "5000ea657357c0c50fa4176aa48775e7d41d6a86",
  "parents": [
    "41c2597509e3e2228688668fbfb2d8bcfb5891b1"
  ],
  "author": {
    "name": "kimhappy",
    "email": "hwanhee.kim@laplacian.cc",
    "time": "Thu Aug 27 03:04:10 2026 +0900"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Aug 27 16:22:43 2026 -0700"
  },
  "message": "sync: check out submodules at the parent\u0027s new revision\n\nInterleaved sync processes projects in hierarchical levels, so a\nsubmodule is only handled after the project holding its gitlink has been\nfetched and checked out. Its revision, however, is still the one read\nbefore that parent was fetched, so the submodule is synced to the\nrevision of the previous sync and only catches up on the next one.\n\nRead the gitlinks again right before a level is dispatched. The parent\nis done by then, so its submodules are fetched and checked out at the\nrevision the parent now points at. Sibling submodules are spread over\nseveral levels, so the gitlinks read for one level are carried over to\nthe next ones and every project is only read once per pass.\n\nBug: 550074864\nChange-Id: I30395b8a16a9154f60972e1f408a066af64ba77c\nSigned-off-by: kimhappy \u003chwanhee.kim@laplacian.cc\u003e\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/621662\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nReviewed-by: Brian Gan \u003cbrgan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6a88530881807634a1c20ae8ff999a26447f5bd7",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "af123995ad3da182ec03d667daa33166145a8963",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "bc0a8275999ff4dcac7b57a69db2250dccfa78de",
      "old_mode": 33188,
      "old_path": "tests/test_subcmds_sync.py",
      "new_id": "0e51dfeffb73777554d2e1c53e7823d2122fc029",
      "new_mode": 33188,
      "new_path": "tests/test_subcmds_sync.py"
    }
  ]
}
