)]}'
{
  "commit": "fff29c1b3f9703ea449f720fe70fa73575ef24e5",
  "tree": "b480d81748d936d698844ae6fc7dc22e1a3784d5",
  "parents": [
    "b4851eb2062f76a880c07f7fa0d12913beb6d79e"
  ],
  "author": {
    "name": "Brett Wilson",
    "email": "brettw@chromium.org",
    "time": "Thu Sep 08 14:15:42 2022 -0700"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Sep 14 19:29:44 2022 +0000"
  },
  "message": "Add to export_compile_commands from cmdline.\n\nAdds a new switch to append to the export_compile_commands variable in\nthe dotfile. This is for users who may want to add more targets than\ntheir project defines or, more commonly, for users to define something\nwhen their project defines nothing.\n\nChanges the previous behavior of the legacy filter switch. Previously it\noverrode the new pattern behavior. But that prevents rolling out this\nfeature in a non-breaking way for users who use the switch. The new\nbehavior constructs the union of all ways the targets can be specified.\n\nIn support of this, adds the ability for the CommandLine to allow\nmultiple values for a given switch. The current behavior where the last\none is returned when querying for a single value is preserved.\n\nRename GetSwitchValueASCII to GetSwitchValueString and convert to UTF-8\non Windows. GN supports non-ASCII file paths which are either platform\nnative or UTF-8 on Windows, and this handling matches that rule. This\nallows non-ASCII patterns to be specified (though the user is\nresponsible for getting the correct encoding on e.g. Linux).\n\nBug: 111, 302\n\nChange-Id: I8ff60260b93d908b2f519c7d83ff8eafcfc5be79\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/14540\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Brett Wilson \u003cbrettw@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "68bc58719d56fb0fffac787dc46441e75b377970",
      "old_mode": 33188,
      "old_path": "src/base/command_line.cc",
      "new_id": "0c37d530dfaeb38ac95fcf0c15078a91709d658c",
      "new_mode": 33188,
      "new_path": "src/base/command_line.cc"
    },
    {
      "type": "modify",
      "old_id": "3a4434666cc0301a67b1623bb598a95ff941cb96",
      "old_mode": 33188,
      "old_path": "src/base/command_line.h",
      "new_id": "ba30749e63d340892d798c27cfd6db902903d542",
      "new_mode": 33188,
      "new_path": "src/base/command_line.h"
    },
    {
      "type": "modify",
      "old_id": "e74c59862eeaac0e41e8a8b71ca7527a6e03ffc1",
      "old_mode": 33188,
      "old_path": "src/gn/command_args.cc",
      "new_id": "6f4600bdd99e739519ab425f8ef9b7bfdeb99010",
      "new_mode": 33188,
      "new_path": "src/gn/command_args.cc"
    },
    {
      "type": "modify",
      "old_id": "fcb343442fb375a3b926b862382f7e34bbd3f13d",
      "old_mode": 33188,
      "old_path": "src/gn/command_desc.cc",
      "new_id": "e3cd1eb0716b7b7e543ef57aba865de0c899ba01",
      "new_mode": 33188,
      "new_path": "src/gn/command_desc.cc"
    },
    {
      "type": "modify",
      "old_id": "041a0370abdf03228d2d2a8dc65cf16dcbcfe0ad",
      "old_mode": 33188,
      "old_path": "src/gn/command_format.cc",
      "new_id": "69077104386017517b88406d71a398c21d6f4ccb",
      "new_mode": 33188,
      "new_path": "src/gn/command_format.cc"
    },
    {
      "type": "modify",
      "old_id": "e6ea5d7cf7cf3b12a0ab95115c30ea76a9f1db96",
      "old_mode": 33188,
      "old_path": "src/gn/command_gen.cc",
      "new_id": "880fb20759a8356b0e8d181a98b7ce1f44a97aa3",
      "new_mode": 33188,
      "new_path": "src/gn/command_gen.cc"
    },
    {
      "type": "modify",
      "old_id": "aa5e88c38bae6e5ee69cca976a6755fc844fd661",
      "old_mode": 33188,
      "old_path": "src/gn/command_meta.cc",
      "new_id": "25f6de06bbdff2d832e85d2121c67ff0486542c9",
      "new_mode": 33188,
      "new_path": "src/gn/command_meta.cc"
    },
    {
      "type": "modify",
      "old_id": "93365ad159dd317a136c9a4f6750f7b50d8db3ce",
      "old_mode": 33188,
      "old_path": "src/gn/commands.cc",
      "new_id": "02926ec5e4eadbe88e0caf22bba895ab724ea7c3",
      "new_mode": 33188,
      "new_path": "src/gn/commands.cc"
    },
    {
      "type": "modify",
      "old_id": "10c5bf5795fe54f70efa5a88f679c54f1e557426",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer.cc",
      "new_id": "23d6029da3fa9c5c3bbbe5f34de554de1e59bcd2",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "3193f5050de6bb9a9824af667dac5167aadbbe3f",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer.h",
      "new_id": "6a006ef887cb2b0bffe4520258795273f41aa052",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer.h"
    },
    {
      "type": "modify",
      "old_id": "f2582c5d9a944686dd3d63125e6c6485637b9d41",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer_unittest.cc",
      "new_id": "2f0294c0530ef38cfffeefcb406d4219150a5279",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "05db21789542bdf2759d29e5883ff6d5430d0b1e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_build_writer.cc",
      "new_id": "6a5b91db16daa14e2bf0fce94eb75352f6abe856",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_build_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "f8abaf2a87eae89ccb814b871630a72e412c417e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_build_writer_unittest.cc",
      "new_id": "8ab5e5612f36e2bb0b59864e2d4effe00afe025c",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_build_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "25eb2efd6957803a685ee6b0943118b51f2743d2",
      "old_mode": 33188,
      "old_path": "src/gn/runtime_deps.cc",
      "new_id": "9ca016d9a295a13c4b4683285123d2a2139f465f",
      "new_mode": 33188,
      "new_path": "src/gn/runtime_deps.cc"
    },
    {
      "type": "modify",
      "old_id": "41bd96da42fc5be0bdcc9c01224dc5a9e19ac090",
      "old_mode": 33188,
      "old_path": "src/gn/setup.cc",
      "new_id": "139a919f44e4791a34f87f4607270594452b6e66",
      "new_mode": 33188,
      "new_path": "src/gn/setup.cc"
    },
    {
      "type": "modify",
      "old_id": "91aca822b8e528704fd6d6a62eee854a24e582a7",
      "old_mode": 33188,
      "old_path": "src/gn/setup.h",
      "new_id": "b3abb1be0d6c417f5adf20268780cc1286da6552",
      "new_mode": 33188,
      "new_path": "src/gn/setup.h"
    },
    {
      "type": "modify",
      "old_id": "8239589366794e20cf402f4a0cfc5848962297ab",
      "old_mode": 33188,
      "old_path": "src/gn/setup_unittest.cc",
      "new_id": "b46bf946c95606f4440cb44113df5b073e5c7073",
      "new_mode": 33188,
      "new_path": "src/gn/setup_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e670517924922c60c73a1849f25bad7901b7f06e",
      "old_mode": 33188,
      "old_path": "src/gn/switches.cc",
      "new_id": "d86c349bd6beb2a657f84768c88d66489ab979d5",
      "new_mode": 33188,
      "new_path": "src/gn/switches.cc"
    },
    {
      "type": "modify",
      "old_id": "22099d3914b1605b05121b8792fcd7bae441ac0a",
      "old_mode": 33188,
      "old_path": "src/gn/switches.h",
      "new_id": "3d1943fee57c5a804d3735fb65caf57c679bbfe5",
      "new_mode": 33188,
      "new_path": "src/gn/switches.h"
    },
    {
      "type": "modify",
      "old_id": "9f6a47b38af5c3511d0b0f44b6ab6f4dd04338d1",
      "old_mode": 33188,
      "old_path": "src/util/worker_pool.cc",
      "new_id": "f594699ddd0002130fc381232ebf7da6435a7c3e",
      "new_mode": 33188,
      "new_path": "src/util/worker_pool.cc"
    }
  ]
}
