)]}'
{
  "commit": "2f457b96a976b6b99bc2de6297009fe5d1593df5",
  "tree": "3b6191357f7872191c2f6cb95c0da4b1c1434791",
  "parents": [
    "57f9a589b5dfd9635879e85cd1c2937441368989"
  ],
  "author": {
    "name": "qmuntal",
    "email": "quimmuntal@gmail.com",
    "time": "Tue Jun 23 10:35:51 2026 +0200"
  },
  "committer": {
    "name": "Quim Muntal",
    "email": "quimmuntal@gmail.com",
    "time": "Tue Jun 23 09:00:38 2026 -0700"
  },
  "message": "crypto/internal/cryptotest: parse go mod download JSON from stdout\n\nFetchModule runs \"go mod download -json\" and unmarshals the result.\nThe JSON contract is on stdout, but the go command can also print\nnon-fatal diagnostics to stderr.\n\nOn Windows builders, a module cache write warning such as\n\n    go: writing go.mod cache: rename ... Access is denied.\n\ncan be printed while the command still succeeds and emits valid JSON.\nBecause FetchModule used CombinedOutput, that stderr text was mixed into\nthe JSON stream, causing json.Unmarshal to fail with \"invalid character\n\u0027g\u0027 looking for beginning of value\".\n\nCapture stderr separately, parse only stdout, and include both streams\nin failure messages. Log stderr on successful downloads so the warning\nis still visible without corrupting the JSON output.\n\nFixes #79954.\nFixes #79956.\n\nCq-Include-Trybots: luci.golang.try:gotip-windows-amd64-longtest\nChange-Id: I21032da33cb0009e0eaf557903880d0188c18f4b\nReviewed-on: https://go-review.googlesource.com/c/go/+/793260\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Cherry Mui \u003ccherryyz@google.com\u003e\nReviewed-by: Filippo Valsorda \u003cfilippo@golang.org\u003e\nReviewed-by: Daniel McCarney \u003cdaniel@binaryparadox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5df340a697531e63a71c6a8000fcfa27bdba21ab",
      "old_mode": 33188,
      "old_path": "src/crypto/internal/cryptotest/fetchmodule.go",
      "new_id": "738c638a778e50ccc8b49914f85055b7b8bab234",
      "new_mode": 33188,
      "new_path": "src/crypto/internal/cryptotest/fetchmodule.go"
    }
  ]
}
