)]}'
{
  "commit": "2998394993e31023c4a476c2344eab0e5fe00ef6",
  "tree": "bd9346292c6b1327a43ef1a51907a4cb21bfa816",
  "parents": [
    "de084187cbc154d9ef5e03d833bdb5ab49ee0f65"
  ],
  "author": {
    "name": "msta",
    "email": "msta@google.com",
    "time": "Wed Jul 22 13:40:26 2026 +1000"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 28 19:43:25 2026 -0700"
  },
  "message": "Add label and toolchain method to TargetRef trait.\n\nThis requires a significant refactor to testutils, so while I was at it\nI refactored the API of testutils to make it much cleaner.\n\nIn particular, we now store Rc\u003cSession\u003e instead of Session, allowing us\nto persist a session across multiple steps of evaluation, just like real\nscenarios (rule definition -\u003e rule impl).\n\nBug: 528225104\nChange-Id: Ibe57f137774a85477f889fff09f499436a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/24221\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dff66520b62326288bde19236a21c2bd5814e0ab",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/attr/src/ctx.rs",
      "new_id": "f82650a245359be8c504147a93d7459097ff5f49",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/attr/src/ctx.rs"
    },
    {
      "type": "modify",
      "old_id": "acdf29cedd637864bf7d23dccbd78ff8964dc4b8",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/attr/src/value.rs",
      "new_id": "a8075ae23d39810735b74320c6c77f696fdcdbac",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/attr/src/value.rs"
    },
    {
      "type": "modify",
      "old_id": "607568919640e1171450d0a7f3c8d029fce6cd1f",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/loader/src/loader.rs",
      "new_id": "dd4b19b8ca1a1d5c288f39a823787c6fb97ec084",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/loader/src/loader.rs"
    },
    {
      "type": "modify",
      "old_id": "91648df39878360c94126d06e4606c35fb65d30c",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/rule/src/frozen_rule.rs",
      "new_id": "2b5aac07c6c07166408648bbf051d81ce31b8aa5",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/rule/src/frozen_rule.rs"
    },
    {
      "type": "modify",
      "old_id": "3be4a8e752cf6d7081a99943ce21c388fa871dd1",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/testutils/src/assert.rs",
      "new_id": "565240d57537bad8c955ff3c8ac7cca6b0152cbc",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/assert.rs"
    },
    {
      "type": "modify",
      "old_id": "d43fcab0b07da9c2dbe75bec33b920820429fd4e",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/testutils/src/eval_context.rs",
      "new_id": "ad2004ad753dfbc2eaecb12e432ddfa7d29f68bd",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/eval_context.rs"
    },
    {
      "type": "modify",
      "old_id": "26d918e215f711dcc936e635d43764c445b86453",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/testutils/src/session.rs",
      "new_id": "78d1e94289f6c212c68cda0a630b18efda2be10b",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/session.rs"
    },
    {
      "type": "modify",
      "old_id": "dfdb571bf35f815b8476f8b48f5bf75c19242356",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/testutils/src/target.rs",
      "new_id": "f1a6ee827deb1e98cc9860576bbab1a40c40f842",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/testutils/src/target.rs"
    },
    {
      "type": "modify",
      "old_id": "8b6c06c048269e0e864f4397ca82d16f2552b2f0",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/types/src/target_ref.rs",
      "new_id": "98c7b2cdfbea829355c438c7503e99e95348cc74",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/target_ref.rs"
    }
  ]
}
