)]}'
{
  "commit": "3af9e2f1462a13a3e344b4fd2e6ed6c4f5403f72",
  "tree": "86dae645176976811c024fcb2e2a4e5422b3fdf0",
  "parents": [
    "d32b70275c3d1541026aa87d8b1bea55cac215c5"
  ],
  "author": {
    "name": "Sainath Varanasi",
    "email": "varanasisai@google.com",
    "time": "Thu Jun 25 22:09:03 2026 +0000"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jun 25 15:28:46 2026 -0700"
  },
  "message": "project: fix sync of shallow projects sharing objdir\n\nRepo sync fails when the following conditions are met:\n\n* There are several checkouts of the same project\n  in different paths.\n* The checkouts are using git hashes as revisions\n  (not branches).\n* There is a clone-depth set on these projects.\n* sync-c\u003d\"true\" is set in the manifest.\n* The revision specified in the manifest\n  has moved forward since the first repo init.\n\nThe sync fails because only the first gitdir gets the \"shallow\" file,\nand subsequent dirs can\u0027t be synced.\n\nDo not optimize away the fetch when the conditions above happen.\n\nSimplified the boolean check in Sync_NetworkHalf and _RemoteFetch\nusing has_shallow, renamed loop variable to avoid shadowing.\n\nTest: create a manifest matching conditions above, repo init,\nforward the hash, and repo sync.\nTest: added tests in test_project.py\nBug: 505072873\nOriginally-by: Elvira Khabirova \u003celvira.khabirova@volvocars.com\u003e\n\nChange-Id: I37c533c382e34fc5ddab489c5593b9e5d3875be2\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/601441\nTested-by: Sainath Varanasi \u003cvaranasisai@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nCommit-Queue: Sainath Varanasi \u003cvaranasisai@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d870609290d4ca1ce0cb2ed1edde8d8fcd04fcc8",
      "old_mode": 33188,
      "old_path": "project.py",
      "new_id": "0ad5584462a35bc943ccb9e224c1b14217d31dc2",
      "new_mode": 33188,
      "new_path": "project.py"
    },
    {
      "type": "modify",
      "old_id": "7c4be48e612119e505563b68cd1f31533453a296",
      "old_mode": 33188,
      "old_path": "tests/test_project.py",
      "new_id": "a824407cfe9bf51c7ff48cf566bd1a5a596a1827",
      "new_mode": 33188,
      "new_path": "tests/test_project.py"
    }
  ]
}
