)]}'
{
  "commit": "ed7fee04cb30b96ed40ef188acfad5417349e399",
  "tree": "5227434c6b417003998fd0d6e2aad37e5a5e1bd0",
  "parents": [
    "224f6aa73aeb73aafb05df998073ff2c7cae666f"
  ],
  "author": {
    "name": "Takuto Ikuta",
    "email": "tikuta@google.com",
    "time": "Fri Oct 30 10:40:39 2026 +0900"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Oct 29 18:54:29 2026 -0700"
  },
  "message": "Do not backslash-escape non-ASCII UTF-8 bytes on POSIX\n\nPreviously, kShellValid marked bytes \u003e\u003d 0x80 as invalid (0), causing\nEscapeStringToString_PosixNinjaFork to insert an ASCII backslash (0x5c)\nbefore each individual byte of multi-byte UTF-8 sequences. This broke\nmulti-byte UTF-8 characters apart and produced invalid UTF-8 in\ngenerated .ninja files.\n\nMark bytes 0x80-0xff as valid in kShellValid since non-ASCII bytes are\nnot special characters in POSIX shells.\n\nBug: 579608206\nChange-Id: I117a6f377b72b6b6646af89bbb4db0d4fd857846\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/28280\nCommit-Queue: Takuto Ikuta \u003ctikuta@google.com\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d902d49324e65c05999d2144db37a06acacfd6d",
      "old_mode": 33188,
      "old_path": "src/gn/escape.cc",
      "new_id": "a3c139ac02c866ee527a5895939a71a3a5bac2d5",
      "new_mode": 33188,
      "new_path": "src/gn/escape.cc"
    },
    {
      "type": "modify",
      "old_id": "62fd2e28abb2d20be8754ced8d219d4a90bd7561",
      "old_mode": 33188,
      "old_path": "src/gn/escape_unittest.cc",
      "new_id": "5d501d652aa0917afd0807f14a534772707349b2",
      "new_mode": 33188,
      "new_path": "src/gn/escape_unittest.cc"
    }
  ]
}
