)]}'
{
  "commit": "3357c4f51b1a9e676378c695dd9c7e9911c35ee6",
  "tree": "bc02f5a877eb4348db872a71fe0d172ca98f0c8b",
  "parents": [
    "0fefaeb1b9f7cf0ef8faf03f8e906d1449f0c714"
  ],
  "author": {
    "name": "Peter Collingbourne",
    "email": "pcc@chromium.org",
    "time": "Thu May 21 13:16:33 2026 -0700"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue May 26 19:33:58 2026 -0700"
  },
  "message": "Reland \"Fix toolchain dependencies not triggering rebuilds in Ninja\"\n\nThis reverts commit 576a0ebd4cc674fb52681bd1becfd0facec8449e.\n\nReason for revert: Siso fix has rolled out: b/512275057\n\nOriginal change\u0027s description:\n\u003e Revert \"Fix toolchain dependencies not triggering rebuilds in Ninja\"\n\u003e\n\u003e This reverts commit 9ece3f5254c273cb46606a6571963f931c3b012d.\n\u003e\n\u003e Reason for revert: This doesn\u0027t pass chromium CQ.\n\u003e https://chromium-review.git.corp.google.com/c/chromium/src/+/7810380\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Fix toolchain dependencies not triggering rebuilds in Ninja\n\u003e \u003e\n\u003e \u003e GN previously emitted order-only dependencies on toolchain dependencies\n\u003e \u003e (via the .inputdeps.stamp file). This meant that if the toolchain changed,\n\u003e \u003e targets compiled by it were not rebuilt.\n\u003e \u003e\n\u003e \u003e This change modifies WriteInputDepsStampOrPhonyAndGetDep (WIDSOPAGD)\n\u003e \u003e to return implicit dependencies separately from order-only\n\u003e \u003e dependencies. Toolchain dependencies are now returned as implicit\n\u003e \u003e dependencies, which ensures that Ninja triggers a rebuild when the\n\u003e \u003e toolchain changes.\n\u003e \u003e\n\u003e \u003e All target writers have been updated to write the result of WIDSOPAGD as\n\u003e \u003e either implicit or order-only dependencies. The action target writer is\n\u003e \u003e a special case, because before this change it would write the result of\n\u003e \u003e WIDSOPAGD as an implicit dependency, unlike all other target writers,\n\u003e \u003e which would write it as an order-only dependency. This means that before\n\u003e \u003e this change, all dependencies returned by WIDSOPAGD were implicit\n\u003e \u003e dependencies for action targets. Because scripts may depend on this\n\u003e \u003e behavior, any phony targets created by WIDSOPAGD for action targets have\n\u003e \u003e only implicit dependencies.\n\u003e \u003e\n\u003e \u003e Bug: 40643484\n\u003e \u003e Change-Id: Iae5dbf87cd67ecd5c9d0f6138f17085233c844b3\n\u003e \u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/22000\n\u003e \u003e Reviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n\u003e \u003e Commit-Queue: Peter Collingbourne \u003cpcc@google.com\u003e\n\u003e\n\u003e # Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\u003e\n\u003e Bug: 40643484\n\u003e Change-Id: I8f38fc48dba7a214a6ef354d2550f91a842ca8c6\n\u003e Reviewed-on: https://gn-review.googlesource.com/c/gn/+/22520\n\u003e Commit-Queue: Takuto Ikuta \u003ctikuta@google.com\u003e\n\u003e Reviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n\n# Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\nBug: 40643484\nChange-Id: I4e5c263c92a1e24abfaaefa7f5f0c62565b233d6\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/22860\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Peter Collingbourne \u003cpcc@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3aa56862042fd3008d18b753c6bd238d8c7cbe5b",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer.cc",
      "new_id": "0d01d07dad9dd3523b24f64cbe9862ca18b42266",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "4ba173360b5c3eadb8aa218db0c6f9886f6dafa7",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_bundle_data_target_writer.cc",
      "new_id": "d6c2e560470154061e64e767c05ed49b5e3e7d2c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_bundle_data_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "4f1964536b47087d5ab7d092460ad6d88b0525cd",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "812803ec2f422cf1e8e8e8cd936638762dc4ba2b",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "0952c6ffa29521b87504ed9baee956909d7e6fd2",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer.cc",
      "new_id": "16fca067757388e42e8f9881459ae3f63e0323f6",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "da7da59f71f9f4d4a24942e886c17ab217777135",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer_unittest.cc",
      "new_id": "6fc5e438fcde63d63cd2bdfa8b60ea96a3cc26c2",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b3a15baec046e703b50b910657ceb2fdd614a09a",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer.cc",
      "new_id": "ca305e6aed9c655adc74407148dcd3c6773efc4b",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "6b5d6cc2b4d38cc8a28a1ecb3855f88add17d01b",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer.h",
      "new_id": "7d603a09714d301e3431b90519d557b4f22b3eef",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "3dfd6a3fe5cef3ff19ecdf35e293bd86cb2afc4e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer_unittest.cc",
      "new_id": "7aa13136cc42e7d683e1ca82a546dea8edb2f380",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e9b44e8927f754a6afe0d11adaafc73d763158e9",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.cc",
      "new_id": "b77157a705eeeeed9ab07c5cd837ac2f2646fe0d",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "9b456284ecd07a1673e4e61eac948ddf00fcb358",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "affc7d6fd4bdf2ebd34eb43738f71d620d37610e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "0936033e7df9abad062742c56a47b5cfb24c6fbf",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.h",
      "new_id": "2da7e76b1cb831721a66b0363183b365f31934fa",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "317ce2a972f7ca5bf3029febecfc6e626501f1e4",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer_unittest.cc",
      "new_id": "cd4a5e4346a37560edfedfb8fe8e9a2df4d4ddf0",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer_unittest.cc"
    }
  ]
}
