)]}'
{
  "commit": "310c99571f49e2d17f79853e69b7c17ff00f1bfc",
  "tree": "00dff159b20833da38cebf108253b0a1996ce119",
  "parents": [
    "e7d4d97ffc7c33b4203cbae9d5da8f61d8bf8355"
  ],
  "author": {
    "name": "Gavin Mak",
    "email": "gavinmak@google.com",
    "time": "Wed Sep 23 10:25:29 2026 -0700"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Sep 23 13:26:55 2026 -0700"
  },
  "message": "project: don\u0027t rerun git status after a failed snapshot\n\nWhen a status snapshot fails, fall back directly to _IsDirtyLegacy()\ninstead of IsDirty() to avoid running git status twice.\n\nExpose Project.GetDirtyAndHead() so sync bloat checks can inspect\nworktree state without invoking private Project methods.\n\nBug: 565047698\nChange-Id: I6432ed82da88778eec9d151fd5b70bedb1efc62b\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/634424\nReviewed-by: Brian Gan \u003cbrgan@google.com\u003e\nCommit-Queue: Gavin Mak \u003cgavinmak@google.com\u003e\nTested-by: Gavin Mak \u003cgavinmak@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "75d722db71f8359f9d5acac1c63c23044513e186",
      "old_mode": 33188,
      "old_path": "project.py",
      "new_id": "4988776c43b5774f6402b8614b947d5d52744329",
      "new_mode": 33188,
      "new_path": "project.py"
    },
    {
      "type": "modify",
      "old_id": "d60a256b44dc8c7da16171dcda92903fb01be87f",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "bae367781732c3af614d09de64ca3ec998d43cca",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "d02dabf3b84e159cba41b78cfea32ed0c086ccd0",
      "old_mode": 33188,
      "old_path": "tests/test_project.py",
      "new_id": "2009949ca7d84bcdafe432dc952f87655715c2a0",
      "new_mode": 33188,
      "new_path": "tests/test_project.py"
    },
    {
      "type": "modify",
      "old_id": "c3d772868d4f6abcc3cc1af7da9dccaa18b36f8c",
      "old_mode": 33188,
      "old_path": "tests/test_subcmds_sync.py",
      "new_id": "005e650b00170f1c0686adf60e54275170a591ab",
      "new_mode": 33188,
      "new_path": "tests/test_subcmds_sync.py"
    }
  ]
}
