)]}'
{
  "commit": "8e99cccde6c2b7e4e9a2076baf68b45d40f15613",
  "tree": "41c656883841ed652e03b3b5418dddefcb3c8a5f",
  "parents": [
    "02564b488c094a278eabe630ec53a22ff5a98feb"
  ],
  "author": {
    "name": "Matt Stark",
    "email": "msta@google.com",
    "time": "Thu Aug 20 15:09:21 2026 +1000"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 01 18:47:34 2026 -0700"
  },
  "message": "Write to ninja files via a standard API\n\nThis paves the way to have multiple targets in a single ninja file,\nwhich in turn should allow us to shard targets without degrading build\nperformance.\n\nBenchmarking reveals a statistically insignificant impact on\nperformance, and `siso dump` (crrev.com/c/8275910) reveals that the build graph\nis identical to before.\n\nChange-Id: I188fd8b075bb2f5cec9ff253c9220ae26a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/25740\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e4e377e501c37888edc902a4f7c5d5053f209765",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "428c713ebcd63a9404608482eab4d2fc99a5f9a1",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "b5f77f84654af11dfdfa7d8995fc3cc7d5f0ba63",
      "old_mode": 33188,
      "old_path": "integration_tests/simple/goldens/obj/hello.ninja",
      "new_id": "9ad97cf07a23051c69281e9d8ffc88f36baa7fe5",
      "new_mode": 33188,
      "new_path": "integration_tests/simple/goldens/obj/hello.ninja"
    },
    {
      "type": "modify",
      "old_id": "998ee5ee1387d4b12e6a9c3c74b510219becb15c",
      "old_mode": 33188,
      "old_path": "integration_tests/simple/goldens/obj/hello_shared.ninja",
      "new_id": "21ddb2429b7e804d85e7d1d671f0a21b77e41c1c",
      "new_mode": 33188,
      "new_path": "integration_tests/simple/goldens/obj/hello_shared.ninja"
    },
    {
      "type": "modify",
      "old_id": "c554743dd1580df5a91f6e86edd75f38d38af35c",
      "old_mode": 33188,
      "old_path": "integration_tests/simple/goldens/obj/hello_static.ninja",
      "new_id": "c2821dd59cfb1d96a9ed6ff67e8c4f9c1bb79227",
      "new_mode": 33188,
      "new_path": "integration_tests/simple/goldens/obj/hello_static.ninja"
    },
    {
      "type": "modify",
      "old_id": "0d01d07dad9dd3523b24f64cbe9862ca18b42266",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer.cc",
      "new_id": "b5490d345e9503cbf0b1dc477882001dc1432d5c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "eff087b126d4b830d0b66de11d8c6cfd1a88fda4",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer.h",
      "new_id": "930a6dfbb31c6137d7c196597a7b7f9c9837dcef",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "e85558287b4230d2e8dd3be835ff3d49ee7393bd",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer_unittest.cc",
      "new_id": "cd3b0e7318c50e76de26932f438327f8c1e87e12",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "8c8d2a093549c469d92add457a2443294e747259",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.cc",
      "new_id": "3e465bc01f71e5deba21c623944eecfe9648999b",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "99b2b729d2e525cc19ea556a7f7c46f4ad26ece5",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.h",
      "new_id": "93774a68eb9abdcdbbabb47486f6575335ac7d17",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "d8e12bcc7086d34e40501f0c5ecfbe86c13fd3a8",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer_unittest.cc",
      "new_id": "1c34ff03964ea5426daed85eb8ca645ddc170829",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d6c2e560470154061e64e767c05ed49b5e3e7d2c",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_bundle_data_target_writer.cc",
      "new_id": "01373b10f51463b6cbc0762b58e08eefb3b83584",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_bundle_data_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "720c59303443650d98e1be002221dba5e5ab1a94",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_bundle_data_target_writer.h",
      "new_id": "be87dd8938edc46643632833b8d462b6359a7644",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_bundle_data_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "a56f587377359abb7e76b0f81b080730bb98fd52",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "155d0de164b56d4446b6bb03343680ca34fa631c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "3353a1b917731aca4c466314f29570c6df492c02",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.h",
      "new_id": "7ba78402e248dc0b50b38e25e9f53b1888656f10",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "34a473fa7ae7c58f7c831a77fa8bc6253b2c2e70",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer_unittest.cc",
      "new_id": "3d051ee5c01e3be96786bd934d9d2f48a076562c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "16fca067757388e42e8f9881459ae3f63e0323f6",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer.cc",
      "new_id": "3c26e783e0b7a1165ae109051d8f708f424c751a",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "95d50b43002a87db08b8c169851d5911632f4df0",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer.h",
      "new_id": "1016f2c4547c130604d700eb25141e140c2ec220",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "6fc5e438fcde63d63cd2bdfa8b60ea96a3cc26c2",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer_unittest.cc",
      "new_id": "0199b5014bf0135a131fa70f6204367d9de6e838",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "c91d41cae1c97fd93c1ef16c619e53f9ac2c64e3",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer.cc",
      "new_id": "bf45ad47bbc1224da9fda63cc95b235d0927602d",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "7d603a09714d301e3431b90519d557b4f22b3eef",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer.h",
      "new_id": "6c4d7466c8026a5cddc53ce1320c15f5315c8467",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "2d23969e0af80e43a13976da397427675cfc481a",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_create_bundle_target_writer_unittest.cc",
      "new_id": "d0b9d02fbcab5e434260d389f0b410ce0017fd91",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_create_bundle_target_writer_unittest.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cacb7f62559980d437a0077268b05e9e305b5c39",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_file.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2b3de9a34c0844f6dcd42fa5dbf8d2e253a1d77",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_file.h"
    },
    {
      "type": "modify",
      "old_id": "6de820746e99590855865765c305fc44a563f49f",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_generated_file_target_writer.cc",
      "new_id": "9fd07f2fe539b9704eec526d6c5be035f7d4282c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_generated_file_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "3103388e9efc0e66a6ed4d783b19460a2b9e40e3",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_generated_file_target_writer.h",
      "new_id": "dc18fe21a849c485ad73796dd0cbf29d421b550e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_generated_file_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "7db1a3a5bcf836d20c27eac6bb20d75927362486",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_group_target_writer.cc",
      "new_id": "c936a12071b13fcba9aba0029ee27bc009a07705",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_group_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "7a3f211596516c9987d4fee61e75afed11794e94",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_group_target_writer.h",
      "new_id": "663cc459e806edb11ab704af761ec2ff4ec0623d",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_group_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "a8bea8f0211a7be0e4bbf174cd4512dc499adf25",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.cc",
      "new_id": "d0651bfc62ebd160884a68e23971a85b3aae4974",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "83e1203401f444310ca28322e24402f72af1e4d1",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.h",
      "new_id": "0b08b0d4ed646ed36099f16a6dabb29150d0ed09",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "3f20c5accb975fe405130e7c8e0568482cd15aad",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc",
      "new_id": "201e1e7e9a3cce4019ada9f409d81ce012b2ca8e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "d3d1eb1d078bbb9b3796e9d865b5f54b2053589a",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "e35d39a8f1ae72c7090ca37120da2fd3dfc1be07",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "d7b28837d4077c0ca1857550c45468472d4d8247",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.h",
      "new_id": "a29a590cbc2e160b4701e5d7b322639a395f03cf",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "53b1a4d49492cd997bd12401145e6344ff5aa668",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer_unittest.cc",
      "new_id": "10bd166c67dbde6515dc044968fb3f7b95f90aa6",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b6d0c48b32f88d752a95261a0716fabad90adb26",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_writer.cc",
      "new_id": "23ea92b581811a357d5b9678c6337a9351c25216",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "95e4b94a022ade08eb286db4b3779098c48375b2",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_writer.h",
      "new_id": "c7da823efb0614fa9ef80654f370c508f592e039",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_writer.h"
    }
  ]
}
