)]}'
{
  "commit": "d7cb797c46170ea43381064745514fd597cb8d7d",
  "tree": "5f4c9d32976d9584218a2065e584973ed3417729",
  "parents": [
    "6e421340885c87c4987f27be4a16b7bedb86faaa"
  ],
  "author": {
    "name": "Cherry Mui",
    "email": "cherryyz@google.com",
    "time": "Wed Feb 25 09:58:07 2026 -0500"
  },
  "committer": {
    "name": "Cherry Mui",
    "email": "cherryyz@google.com",
    "time": "Wed Feb 25 07:15:16 2026 -0800"
  },
  "message": "cmd/go: use \u0027gcloud storage cp\u0027 instead of \u0027gsutil cp\u0027\n\nIn some misguided attempt at \"cleanup\", Google Cloud has\ndecided to retire \u0027gsutil\u0027 in favor of \u0027gcloud storage\u0027 instead\nof leaving an entirely backwards-compatible wrapper so\nthat client scripts and muscle memory keep working.\n\nIn addition to breaking customers this way, they are also\nsending AI bots around \"cleaning up\" old usages with scary\nwarnings that maybe the changes will break your entire world.\nThis is even more misguided, of course, and resulted in us\nreceiving CL 748661 (originally GitHub PR golang/gofrontend#13)\nand then me receiving a private email asking for it to be merged.\n\nIt was easier to recreate the 4-line CL myself than to\nenumerate everything that was wrong with that CL\u0027s\ncommit message.\n\nI hope that only Google teams are being subjected to this.\n\nThis is based on the CL 748900 from the main Go repo by Russ.\n\nChange-Id: I26f2f65015567db0f792eab116ab40e31ec0c5d8\nReviewed-on: https://go-review.googlesource.com/c/gofrontend/+/749000\nReviewed-by: Russ Cox \u003crsc@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a3f2f84505a0f996d48aa6bb91937e63c33ff097",
      "old_mode": 33188,
      "old_path": "libgo/go/cmd/go/internal/modload/query_test.go",
      "new_id": "24b5da53e8b244836a86e757293f9c30c11fb855",
      "new_mode": 33188,
      "new_path": "libgo/go/cmd/go/internal/modload/query_test.go"
    },
    {
      "type": "modify",
      "old_id": "d085f4fa3c8e6b2319bce5ed94c9b569f58d3ded",
      "old_mode": 33188,
      "old_path": "libgo/go/cmd/go/testdata/script/mod_get_pseudo_other_branch.txt",
      "new_id": "0646df7361cbb873c898e5175f039695f651ec17",
      "new_mode": 33188,
      "new_path": "libgo/go/cmd/go/testdata/script/mod_get_pseudo_other_branch.txt"
    },
    {
      "type": "modify",
      "old_id": "8e6cd907f183495842855232179f2ed9f16e3bb1",
      "old_mode": 33188,
      "old_path": "libgo/go/cmd/go/testdata/script/mod_get_pseudo_prefix.txt",
      "new_id": "9fa5d1559375b0802b9f5d2f778d766f722b0f40",
      "new_mode": 33188,
      "new_path": "libgo/go/cmd/go/testdata/script/mod_get_pseudo_prefix.txt"
    },
    {
      "type": "modify",
      "old_id": "27c2b670658e214bd27be9f739da3a6a64560812",
      "old_mode": 33188,
      "old_path": "libgo/go/cmd/go/testdata/script/mod_retract_pseudo_base.txt",
      "new_id": "ca627d131100c0816a00fa1a97b3a030c155df8f",
      "new_mode": 33188,
      "new_path": "libgo/go/cmd/go/testdata/script/mod_retract_pseudo_base.txt"
    }
  ]
}
