)]}'
{
  "commit": "9fe99e262126467c4cb2f44cf941767d29fb33d8",
  "tree": "91a6e727af27ce5a56c7f645d1c04c86b3b8fab6",
  "parents": [
    "0e7d98e041b01eb5fed29a9a80482ed8ca9efe5b"
  ],
  "author": {
    "name": "Takuto Ikuta",
    "email": "tikuta@google.com",
    "time": "Fri Oct 02 12:20:35 2026 +0900"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Oct 01 23:32:50 2026 -0700"
  },
  "message": "Stop forwarding private hard_deps on check_includes_strict targets\n\nPreviously, ResolvedTargetData::ComputeHardDeps() and\nNinjaTargetWriter::WriteHardDepsStampOrPhony() forwarded hard_deps from\nboth public_deps and private deps of a target T (unless T was a binary\ntarget with public \u003d []), because standard \u0027gn check\u0027 allows T\u0027s\npublic headers to #include headers from T\u0027s private deps.\n\nHowever, when T sets check_includes_strict \u003d true, \u0027gn check\u0027 enforces\nthat T\u0027s public headers cannot #include headers from T\u0027s private deps.\nTherefore, targets depending on T cannot transitively reach generated\nheaders from T\u0027s private dependencies.\n\nThis change restricts ComputeHardDeps() and WriteHardDepsStampOrPhony()\nto only traverse public_deps when check_includes_strict \u003d true (for\nnon-hard targets), while still including hard_deps of private_deps in\nT\u0027s own input dependencies in WriteInputDepsStampOrPhonyAndGetDep().\n\nSuggested in:\nhttps://chromium-review.googlesource.com/c/chromium/src/+/8497030/comment/9c2d1aca_83609b40/\n\nBug: 563098656\nChange-Id: If9d5ef1e18475f0bcae1a65553256ff84543d871\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/27100\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\nReviewed-by: David Turner \u003cdigit@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6a03917ad17bbc8841c24033f5de5635705dfa5e",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "2796a0b4967d0d19e91d0719b29c60577523f367",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "modify",
      "old_id": "7e1ba0ecf8d8ccf5d3f73b59f5a4cf8bee72fe37",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "604f2f551d4638fb320789a2280cb84f0cb73293",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "fb0032041dbfb4207580ae5fa01bafb69cc73027",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer_unittest.cc",
      "new_id": "a8662d7118c5bee3522fa6130e29f98762f02371",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b0ef9a6ef3f784cb1f0abf6ddbc826aa8d9ae7ae",
      "old_mode": 33188,
      "old_path": "src/gn/resolved_target_data.cc",
      "new_id": "f492986d7fd7114e192f054f2012e098a1cbcfa4",
      "new_mode": 33188,
      "new_path": "src/gn/resolved_target_data.cc"
    },
    {
      "type": "modify",
      "old_id": "544872da8eced19f48695eef5211ae75d42be7c3",
      "old_mode": 33188,
      "old_path": "src/gn/resolved_target_data.h",
      "new_id": "5922afe91403a69590b0404ff74dad839386dc22",
      "new_mode": 33188,
      "new_path": "src/gn/resolved_target_data.h"
    },
    {
      "type": "modify",
      "old_id": "49dc623fd0be582ee052570ec770b8b2c3e29da5",
      "old_mode": 33188,
      "old_path": "src/gn/resolved_target_data_unittest.cc",
      "new_id": "0361411d05d471eae8ca80e7852d982853380fee",
      "new_mode": 33188,
      "new_path": "src/gn/resolved_target_data_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "994322d4dbdbd67030abefae10aa59b87f388683",
      "old_mode": 33188,
      "old_path": "src/gn/variables.cc",
      "new_id": "15b60d270afcc7f8671e7791431dc1e702531ea8",
      "new_mode": 33188,
      "new_path": "src/gn/variables.cc"
    }
  ]
}
