)]}'
{
  "commit": "31dd2c2b8e495944a9c6d6c3a69dc2de6e491f4e",
  "tree": "436bdb546fbaba8e796ec5e5dd8361b65edaed51",
  "parents": [
    "b309775a6faf15cdea201c4f9f7a2171fbab31c6"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Wed Sep 30 13:47:31 2026 +0200"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Oct 01 05:41:05 2026 -0700"
  },
  "message": "Move generated_file() writes to dedicated function.\n\nThis simply moves NinjaGeneratedFileTargetWriter::GenerateFile()\nto its own helper function in a new source file. The new\nimplementation simply returns false on error instead of\ncalling g_scheduler-\u003eFailWithError().\n\nThis is a preparation CL for a fix for the associated bug\nthat will delay the writing of generate_file() targets that\nhave `collect_validations_metadata \u003d true`.\n\nBug: 566346002\nChange-Id: I588a3cce0ba6252c65e650a04cb813d885f7295a\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/27083\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d9c4b1f6c541a787f44598747d8d3c271293ea07",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "4f9cd321e6e7b25e4870c220ee52b3d179df017e",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5de819e00fc200bbf51b3acd2fca6d8927d5ca4e",
      "new_mode": 33188,
      "new_path": "src/gn/generated_file_writer.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "833ed970dadea3289277950990c00d37cca594e5",
      "new_mode": 33188,
      "new_path": "src/gn/generated_file_writer.h"
    },
    {
      "type": "modify",
      "old_id": "6de820746e99590855865765c305fc44a563f49f",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_generated_file_target_writer.cc",
      "new_id": "09aa271e4dce1a593b70c25797c419a3ef3c252c",
      "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": "d39f5fd99fd2e22fe4ea144215abbf092d530c9f",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_generated_file_target_writer.h"
    }
  ]
}
